/* HENRY AI — HELP CENTER · styles.css (COMPLETE, fonts included) */

@font-face {
  font-family: "Saans";
  src: url("data:font/ttf;base64,AAEAAAARAQAABAAQR0RFRjfJNyYAAQ6kAAAA7kdQT1NLN8a4AAEPlAAA6LpHU1VCMcXtfAAB+FAAABBCT1MvMt8MZiAAAAGYAAAAYGNtYXBZOlh9AAAMEAAABgZjdnQgCpgZ/gAAIPAAAAB6ZnBnbWIvAX4AABIYAAAODGdhc3AAAAAQAAEOnAAAAAhnbHlmW0f+zQAAJnwAAM4UaGVhZCcXAYEAAAEcAAAANmhoZWEG9AkDAAABVAAAACRobXR4IF5PUwAAAfgAAAoYbG9jYXciRAIAACFsAAAFDm1heHAEAA8bAAABeAAAACBuYW1lVK2geAAA9JAAAANCcG9zdJTlW0kAAPfUAAAWxnByZXB5nV20AAAgJAAAAMsAAQAAAAQAAGoysXhfDzz1AAcD6AAAAADhnjSeAAAAAOL3iJv+o/8uBMAENwAAAAYAAgAAAAAAAAABAAADjv8fAAAE0/6j/qMEwAPoAAAAAAAAAAAAAAAAAAAChgABAAAChgBfAAcAUQAFAAIALABaAI0AAACxDgwAAwADAAQCJgF8AAUACAKKAlgAAABLAooCWAAAAV4AMgE3AAACCwUEAwEDAgIDoQAA/1ABpHsAAAAAAAAAAERQICAAwAAN+wID1v89AAAETwDhIAABkwAAAAACBwLRAAAAIAADBCoAIQKiAAYCogAGAqIABgKiAAYCogAGAqIABgKiAAYCogAGAqIABgKiAAYCogAGAqIABgOd/+cDnf/nAmwATQLPACcCzwAnAs8AJwLPACcCzwAnAs8AJwKrAE0CqwBNAsMAHALDABwCNABNAjQATQI0AE0CNABNAjQATQI0AE0CNABNAjQATQI0AE0CNABNAjQATQI0AE0C4gAmAiAATQLyACcC8gAnAvIAJwLyACcC8gAnAvIAJwLyACcCwwBNAugAFwLDAE0A7ABNAwsATQDsAEQA7P/uAOz/0ADs/+4A7ABGAOwASADs/+gA7P/jAOwAKADs/80CHwASAh8AEgIfABICawBNAmsATQIWAE0CFgBDAhYATQIWAE0CFgBNAjkACgOJAE0CxgBNAsYATQLGAE0CxgBNAsb/9QLGAE0CxgBNAw0AJgMNACYDDQAmAw0AJgMNACYDDQAmAw0AJgMNACYDDQAmAw0AJgMNACYDDQAmAw0AJgP1ACcCYgBNAl0ATQMNACYCggBNAoIATQKCAE0CggBNAlEAGgJRABoCUQAaAlEAGgJRABoCUQAaAmEASAI6AAwCQgAQAjoADAI6AAwCOgAMAqwARwKsAEcCrABHAqwARwKsAEcCrABHAqwARwKsAEcCrABHAqwARwKsAEcCrABHAowABwPNAAwDzQAMA80ADAPNAAwDzQAMAj3/+wJpAA0CaQANAmkADQJpAA0CaQANAmkADQJpAA0CSQASAkkAEgJJABICSQASAKoALwIWAE0CxgBNAwsApQL1ACcC9QAnAvUAJwL1ACcC9QAnAaoATQO3AE0BqgBNAaoATQGqAC8BqgBNAaoATQGqAE0BqgBHAaoAQgGqAE0BqgAsAwsApQIQACECEAAhAhAAIQIQACECEAAhAhAAIQIQACECEAAhAhAAIQIQACECEAAhAhAAIQOBACEDgQAhAlUARAIYACMCGAAjAhgAIwIYACMCGAAjAhgAIwJWACMCVgAjAlYAIwJRACICJgAjAiYAIwImACMCJgAjAiYAIwImACMCJgAjAiYAIwImACMCJgAjAiYAIwImACMCJgAiAUEACQJRACMCUQAjAlEAIwJRACMCUQAjAlEAIwJRACMCPQBEAj3/8AI9/9IA1QA9ANUARADVAEQA1f/nANX/0wDV/+gA1QA9ANUAPADV/9UA1f/gANUAGgDV/8kBqgA9ANX/7QDV/+0A1f/tANX/0gH7AEQB+wBEAfwARADVAEQA1QBEANUARADVAAsBLQBEAScAEgN0AEQCPQBEAj0ARAJpAAgCPQBEAj0ARAI9/+0CPQBEAj0ARAJAACICQAAiAkAAIgJAACICQAAiAkAAIgJAACICQAAiAkAAIgJAACICSAAmAkgAJgJAACID0wAiAlUARAJVAEQCVQAjAWwARAFsAEQBbAA9AWwADQHPABkBzAAZAcwAGQHMABkBzAAZAcwAGQJRABsBEAAJAVIABgFeABEBUgAGAVIABgFSAAYCPQA/Aj0APwI9AD8CPQA/Aj0APwI9AD8CPQA/Aj0APwI9AD8CPQA/Aj0APwI9AD8B4gAKAu4ADQLuAA0C7gANAu4ADQLuAA0BxAABAe8ACAHvAAgB7wAIAe8ACAHvAAgB7wAIAe8ACAHaABIB2gASAdoAEgHaABIAqgAvANUACwI9AEQCVgAjAlYAIwJWACMCVgAjAlYAIwJWACMCVgAjAlYAIwJWACMCVgAjAlYAIwJWACMCJAAeAiQAHgIkAB4CJAAeAiQAHgDsAEEA7AA3AOwAQQDsADABNQBBATIADgJJAAkDCwAJAwwACQIDAAkCFgAJAhYACQIWAAkDJgAJAh4ACQFvACkBcgAjAwcANQJAAAgCegAuAUsAEQIyACICTAAjAnUAIAJCACICbAAtAhEADgJYACsCbAAvAnoALgNLADQDSwA0A0sANANLADQDSwA0A0sANANLADQDSwA0A0sANANLADQDSwA0A0sANANLADQDSwA0A0sANANLADQDSwA0A0sANANLADQDSwA0AooANgKKAGACigBOAooAQwKKACsCigBFAooAPAKKAEsCigBEAooAPgGAAB0BgAAdA0sANANLADQBgAAdAYAAHQKKADYBgAAdANcADQFXABoBYAAXAXwAFQFcABcBcwAdAUIADAFoABwBcwAeAYAAHQDXAA0BVwAaAWAAFwF8ABUBXAAXAXMAHQFCAAwBaAAcAXMAHgDg/1cC+gANAvYADQNvABcDCgANA4MAFwN+ABcDMQAMAYAAHQDXAA0BVwAaAWAAFwF8ABUBXAAXAXMAHQFCAAwBaAAcAXMAHgGAAB0A1wANAVcAGgFgABcBfAAVAVwAFwFzAB0BQgAMAWgAHAFzAB4A3AAAANwAAADcAAAA0AA1ANQANgDYADkA3wA8AnAANQDoAEEA2wA7AfMAEQHrABoA1gA4AiUAOQH9ACoCxAAmAasADAGrAAwA3QA8AOsAQwHzAB8A1gA4AiUAOQF+ACsBiAAwAiYAKwQpACsCJQAqAYsAMQGLADECMwAxBDYAMQEDACcBAwAXASIAGwEiAB0BFgBMARYAFgE0AE0BNAAmAQ0AKwENAB0BLAAfASwAJAEcAEwBHAAcATQATQE0ACYA1AA2AWcANgFYAC0BUQAyAMYALQC+ADICQwAsAlUANAFiACwBYgA0ATYALwCqAC8CQwAsAlUANAFiACwBYgA0Ac0AEgJtAE0DmgAjApIAJAKZABACNwAeA0sANAJYADYDSwA0AwUAFgFzADgAqgAvATYALwDjAE0A4wBNAZUAJAHUABABogArA3AANgRdAE0DmwAmAmwATgI3ADMCnAAlAlIAHQI1ADEDAAA1Ak0AHwLNADYCagAzA20ANQMSACQCmwAqAnsALQLuAE0CUAAr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WTgRRCAgPuRSSFVogAEzVWiAQ01MAfX+Ek1pNQgSThQJQwLR/S8DC4KCgoIABABN//gD5wONABIAHgAiACYAlEuwHlBYQDAMAQoLCoUPDQ4DCwELhQADBgAGAwCACAEGBgFfBwEBASFNCQUCAAACYQQBAgIoAk4bQDgMAQoLCoUPDQ4DCwELhQADBgUGAwWACAEGBgFfBwEBASFNCQEFBQRfAAQEIk0AAAACYQACAigCTllAHiMjHx8jJiMmJSQfIh8iISAeHRERERERFCMTIhAIHyslFBYzMjY1ETMRFAYjIiYmNTUzByE1MxEjNSEVIxEzAzczByE3MwcB+VFCQ05SfWZDZzlQnP7wX18BEF9folRofwIzVGiA5FBSUlAB7f4ZdX04akoZ/UoCPUpK/cMCwYKCgoIAAAQApf/4AtsDjQAQABQAGAAcAGFAXg4BAAENAQQAAkwHAQUGBYUMCAsDBgEGhQMBAQABhQoBBAACAAQCgAkBAAQCAFkJAQAAAmEAAgACURkZFRUREQEAGRwZHBsaFRgVGBcWERQRFBMSCwkFBAAQARANBhYrJTI2NREzERQGBiMiJic1FhYHETMRAzczByE3MwcBnDJGUjVZOBFEICA+5FJFVGh/AS9VaIBDTUwB9f4STWk1CBJOFAlDAtH9LwMLgoKCggAAABIA3gADAAEECQAAAJQAAAADAAEECQABAAoAlAADAAEECQACAA4AngADAAEECQADABwArAADAAEECQAEABwAyAADAAEECQAFAFQA5AADAAEECQAGABoBOAADAAEECQAGABoBUgADAAEECQAIADgBbAADAAEECQAJABgBpAADAAEECQALACABvAADAAEECQAMACAB3AADAAEECQARAA4B/AADAAEECQEAABICCgADAAEECQEBABICHAADAAEECQECABICLgADAAEECQEDABICQAADAAEECQEEABICUgBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMgAzIBMAMgAwADIANAAgAGIAeQAgAEQAaQBzAHAAbABhAGEAeQAgAFQAeQBwAGUAIABGAG8AdQBuAGQAcgB5ACAAcwAuAHIALgBvAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4AUwBhAGEAbgBzAFIAZQBnAHUAbABhAHIAUwBhAGEAbgBzACAAIABSAGUAZwB1AGwAYQByAFMAYQBhAG4AcwAgACAAUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAANAAuADAAMAAwADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgA0AC4ANwAtADUAZAA1AGIAKQBTAGEAYQBuAHMALQBSAGUAZwB1AGwAYQByAFMAYQBhAG4AcwAtAFIAZQBnAHUAbABhAHIARABpAHMAcABsAGEAYQB5ACAAVAB5AHAAZQAgAEYAbwB1AG4AZAByAHkAIABzAC4AcgAuAG8ALgBNAGEAcgB0AGkAbgAgAFYA4QBjAGgAYQB3AHcAdwAuAGQAaQBzAHAAbABhAGEAeQAuAG4AZQB0AHcAdwB3AC4AZABpAHMAcABsAGEAYQB5AC4AbgBlAHQAUgBlAGcAdQBsAGEAcgBbAHMAcwAgADAAMQBdACAAYQBbAHMAcwAgADAAMgBdACAAZwBbAHMAcwAgADAAMwBdACAAbABbAHMAcwAgADAANABdACAARwBbAHMAcwAgADAANQBdACAASQAAAAIAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAChgAAACQAyQECAMcAYgEDAK0BBAEFAGMBBgCuAJABBwAlACYA/QD/AGQBCAEJACcBCgELAOkAKABlAQwBDQDIAMoBDgEPAMsBEAERARIBEwApACoA+AEUARUBFgEXARgAKwEZARoALAEbAMwBHADNAM4A+gEdAM8BHgEfASAALQEhASIALgEjAC8BJAElASYBJwDiADAAMQEoASkBKgErAGYBLAAyANABLQDRAGcBLgDTAS8BMAExAJEBMgCvALAAMwDtADQANQEzATQBNQA2ATYA5AD7ATcBOAE5ADcBOgE7ATwBPQA4ANQBPgDVAGgBPwDWAUABQQFCAUMBRAA5ADoBRQFGAUcBSAA7ADwA6wFJALsBSgFLAUwAPQFNAOYBTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAEQAaQFlAGsAbAFmAGoBZwFoAG4BaQBtAKABagBFAEYA/gEAAG8BawFsAEcBbQEBAOoASABwAW4BbwByAHMBcAFxAHEBcgFzAXQBdQBJAEoA+QF2AXcBeAF5AXoASwF7AXwATAF9AHQBfgB2AHcBfwGAAHUBgQGCAYMBhABNAYUBhgGHAE4BiAGJAE8BigGLAYwBjQDjAFAAUQGOAY8BkAGRAZIAeAGTAFIAeQGUAHsAfAGVAHoBlgGXAZgAoQGZAH0AsQBTAO4AVABVAZoBmwGcAFYBnQDlAPwBngGfAIkBoABXAaEBogGjAaQAWAB+AaUAgACBAaYAfwGnAagBqQGqAasAWQBaAawBrQGuAa8AWwBcAOwBsAC6AbEBsgGzAF0BtADnAbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMAwADBAdQB1QHWAJ0AngCfAJsAEwAUABUAFgAXABgAGQAaABsAHAHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQALwA9AD1APYCEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8A8QDyAPMCIAIhAiICIwIkAiUAAwImAicAEQAPAB0AHgCrAAQAowAiAKIAwwCHAA0ABgASAD8CKAIpAioCKwIsABACLQCyALMAQgIuAi8CMAIxAAsADABeAGAAPgBAAjICMwI0AjUCNgI3AjgCOQI6AjsAxADFALQAtQC2ALcCPAI9AL4AvwAFAAoCPgI/AkACQQCmAkIAIwAJAIgAhgCLAIoCQwCMAIMCRAJFAF8A6ACCAkYAwgJHAkgCSQJKAIQAvQAHAksCTAD3Ak0CTgJPAlACUQJSAlMAhQJUAJYADgDvAPAAuAAgAI8AIQAfAJUAlACTAKcAYQCkAEEAkgCcAlUCVgCaAJkApQJXAJgACADGAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQAuQJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQCOANwAQwCNAN8A2ADhANsA3QDZANoA3gDgAoYChwKIAokCigKLAowCjQKOBkFicmV2ZQlBZG90YmVsb3cHQW1hY3JvbgdBb2dvbmVrCkFyaW5nYWN1dGUHQUVhY3V0ZQtDY2lyY3VtZmxleApDZG90YWNjZW50BkRjYXJvbgZEY3JvYXQGRWJyZXZlBkVjYXJvbgpFZG90YWNjZW50CUVkb3RiZWxvdwdFbWFjcm9uB0VvZ29uZWsGRXRpbGRlBVNjaHdhBkdjYXJvbgtHY2lyY3VtZmxleAxHY29tbWFhY2NlbnQKR2RvdGFjY2VudAdHbWFjcm9uBEhiYXILSGNpcmN1bWZsZXgCSUoGSWJyZXZlCUlkb3RiZWxvdwdJbWFjcm9uB0lvZ29uZWsGSXRpbGRlBkphY3V0ZQtKY2lyY3VtZmxleAxLY29tbWFhY2NlbnQGTGFjdXRlBkxjYXJvbgxMY29tbWFhY2NlbnQETGRvdAZOYWN1dGUGTmNhcm9uDE5jb21tYWFjY2VudAlOaG9va2xlZnQDRW5nBk9icmV2ZQlPZG90YmVsb3cNT2h1bmdhcnVtbGF1dAdPbWFjcm9uB09vZ29uZWsLT3NsYXNoYWN1dGUGUmFjdXRlBlJjYXJvbgxSY29tbWFhY2NlbnQGU2FjdXRlC1NjaXJjdW1mbGV4DFNjb21tYWFjY2VudApHZXJtYW5kYmxzBFRiYXIGVGNhcm9uCFRjZWRpbGxhDFRjb21tYWFjY2VudAZVYnJldmUJVWRvdGJlbG93DVVodW5nYXJ1bWxhdXQHVW1hY3JvbgdVb2dvbmVrBVVyaW5nBlV0aWxkZQZXYWN1dGULV2NpcmN1bWZsZXgJV2RpZXJlc2lzBldncmF2ZQtZY2lyY3VtZmxleAZZZ3JhdmUHWW1hY3JvbgZZdGlsZGUGWmFjdXRlClpkb3RhY2NlbnQIU2FsdGlsbG8UTGNvbW1hYWNjZW50LmxvY2xNQUgUTmNvbW1hYWNjZW50LmxvY2xNQUgHSUoubW9ubwZHLnNzMDQLR2JyZXZlLnNzMDQQR2NpcmN1bWZsZXguc3MwNBFHY29tbWFhY2NlbnQuc3MwNA9HZG90YWNjZW50LnNzMDQGSS5zczA1B0lKLnNzMDULSWFjdXRlLnNzMDULSWJyZXZlLnNzMDUQSWNpcmN1bWZsZXguc3MwNQ5JZGllcmVzaXMuc3MwNQ9JZG90YWNjZW50LnNzMDUOSWRvdGJlbG93LnNzMDULSWdyYXZlLnNzMDUMSW1hY3Jvbi5zczA1DElvZ29uZWsuc3MwNQtJdGlsZGUuc3MwNQxJSi5zczA1Lm1vbm8GYWJyZXZlCWFkb3RiZWxvdwdhbWFjcm9uB2FvZ29uZWsKYXJpbmdhY3V0ZQdhZWFjdXRlC2NjaXJjdW1mbGV4CmNkb3RhY2NlbnQGZGNhcm9uBmVicmV2ZQZlY2Fyb24KZWRvdGFjY2VudAllZG90YmVsb3cHZW1hY3Jvbgdlb2dvbmVrBmV0aWxkZQVzY2h3YQZnY2Fyb24LZ2NpcmN1bWZsZXgMZ2NvbW1hYWNjZW50Cmdkb3RhY2NlbnQHZ21hY3JvbgRoYmFyC2hjaXJjdW1mbGV4CGlkb3RsZXNzBmlicmV2ZQppZG90YWNjZW50CWlkb3RiZWxvdwdpbWFjcm9uB2lvZ29uZWsGaXRpbGRlAmlqCGpkb3RsZXNzBmphY3V0ZQtqY2lyY3VtZmxleAxrY29tbWFhY2NlbnQMa2dyZWVubGFuZGljBmxhY3V0ZQZsY2Fyb24MbGNvbW1hYWNjZW50BGxkb3QGbmFjdXRlC25hcG9zdHJvcGhlBm5jYXJvbgxuY29tbWFhY2NlbnQJbmhvb2tsZWZ0A2VuZwZvYnJldmUJb2RvdGJlbG93DW9odW5nYXJ1bWxhdXQHb21hY3Jvbgdvb2dvbmVrC29zbGFzaGFjdXRlBnJhY3V0ZQZyY2Fyb24McmNvbW1hYWNjZW50BnNhY3V0ZQtzY2lyY3VtZmxleAxzY29tbWFhY2NlbnQFbG9uZ3MEdGJhcgZ0Y2Fyb24IdGNlZGlsbGEMdGNvbW1hYWNjZW50BnVicmV2ZQl1ZG90YmVsb3cNdWh1bmdhcnVtbGF1dAd1bWFjcm9uB3VvZ29uZWsFdXJpbmcGdXRpbGRlBndhY3V0ZQt3Y2lyY3VtZmxleAl3ZGllcmVzaXMGd2dyYXZlC3ljaXJjdW1mbGV4BnlncmF2ZQd5bWFjcm9uBnl0aWxkZQZ6YWN1dGUKemRvdGFjY2VudAhzYWx0aWxsbxRsY29tbWFhY2NlbnQubG9jbE1BSBRuY29tbWFhY2NlbnQubG9jbE1BSAZhLnNzMDELYWFjdXRlLnNzMDELYWJyZXZlLnNzMDEQYWNpcmN1bWZsZXguc3MwMQ5hZGllcmVzaXMuc3MwMQ5hZG90YmVsb3cuc3MwMQthZ3JhdmUuc3MwMQxhbWFjcm9uLnNzMDEMYW9nb25lay5zczAxCmFyaW5nLnNzMDEPYXJpbmdhY3V0ZS5zczAxC2F0aWxkZS5zczAxBmcuc3MwMgtnYnJldmUuc3MwMhBnY2lyY3VtZmxleC5zczAyEWdjb21tYWFjY2VudC5zczAyD2dkb3RhY2NlbnQuc3MwMgZsLnNzMDMLbGFjdXRlLnNzMDMLbGNhcm9uLnNzMDMRbGNvbW1hYWNjZW50LnNzMDMJbGRvdC5zczAzC2xzbGFzaC5zczAzCGZfZi5kbGlnCmZfZl9pLmRsaWcKZl9mX2wuZGxpZwhmX2kuZGxpZwdmbC5kbGlnD2ZfZl9sLnNzMDMuZGxpZw1mX2wuc3MwMy5kbGlnCXplcm8uemVybxF6ZXJvLmJsYWNrQ2lyY2xlZBBvbmUuYmxhY2tDaXJjbGVkEHR3by5ibGFja0NpcmNsZWQSdGhyZWUuYmxhY2tDaXJjbGVkEWZvdXIuYmxhY2tDaXJjbGVkEWZpdmUuYmxhY2tDaXJjbGVkEHNpeC5ibGFja0NpcmNsZWQSc2V2ZW4uYmxhY2tDaXJjbGVkEmVpZ2h0LmJsYWNrQ2lyY2xlZBFuaW5lLmJsYWNrQ2lyY2xlZAx6ZXJvLmNpcmNsZWQLb25lLmNpcmNsZWQLdHdvLmNpcmNsZWQNdGhyZWUuY2lyY2xlZAxmb3VyLmNpcmNsZWQMZml2ZS5jaXJjbGVkC3NpeC5jaXJjbGVkDXNldmVuLmNpcmNsZWQNZWlnaHQuY2lyY2xlZAxuaW5lLmNpcmNsZWQHemVyby50ZgZvbmUudGYGdHdvLnRmCHRocmVlLnRmB2ZvdXIudGYHZml2ZS50ZgZzaXgudGYIc2V2ZW4udGYIZWlnaHQudGYHbmluZS50ZhF6ZXJvLnplcm9pbmZlcmlvchF6ZXJvLnplcm9zdXBlcmlvchZ6ZXJvLnplcm8uYmxhY2tDaXJjbGVkEXplcm8uemVyby5jaXJjbGVkDnplcm8uemVyby5kbm9tDnplcm8uemVyby5udW1yDHplcm8uemVyby50Zgl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20JZml2ZS5kbm9tCHNpeC5kbm9tCnNldmVuLmRub20KZWlnaHQuZG5vbQluaW5lLmRub20JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzDHplcm9pbmZlcmlvcgtvbmVpbmZlcmlvcgt0d29pbmZlcmlvcg10aHJlZWluZmVyaW9yDGZvdXJpbmZlcmlvcgxmaXZlaW5mZXJpb3ILc2l4aW5mZXJpb3INc2V2ZW5pbmZlcmlvcg1laWdodGluZmVyaW9yDG5pbmVpbmZlcmlvcgx6ZXJvc3VwZXJpb3IMZm91cnN1cGVyaW9yDGZpdmVzdXBlcmlvcgtzaXhzdXBlcmlvcg1zZXZlbnN1cGVyaW9yDWVpZ2h0c3VwZXJpb3IMbmluZXN1cGVyaW9yB25ic3BhY2UCQ1IKY29sb24uY2FzZQ9leGNsYW1kb3duLmNhc2URcXVlc3Rpb25kb3duLmNhc2UTcGVyaW9kY2VudGVyZWQuY2FzZQtidWxsZXQuY2FzZQpzb2Z0aHlwaGVuC2h5cGhlbi5jYXNlD3NvZnRoeXBoZW4uY2FzZQtlbmRhc2guY2FzZQtlbWRhc2guY2FzZRpibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdBtibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQOcGFyZW5sZWZ0LmNhc2UPcGFyZW5yaWdodC5jYXNlDmJyYWNlbGVmdC5jYXNlD2JyYWNlcmlnaHQuY2FzZRBicmFja2V0bGVmdC5jYXNlEWJyYWNrZXRyaWdodC5jYXNlH2JsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0LmNhc2UgYmxhY2tsZW50aWN1bGFyYnJhY2tldHJpZ2h0LmNhc2UNZ3VpbGxlbWV0bGVmdA5ndWlsbGVtZXRyaWdodBJndWlsbGVtZXRsZWZ0LmNhc2UTZ3VpbGxlbWV0cmlnaHQuY2FzZRJndWlsc2luZ2xsZWZ0LmNhc2UTZ3VpbHNpbmdscmlnaHQuY2FzZQRiYWh0CXB1Ymxpc2hlZAZtaW51dGUGc2Vjb25kCWxpdGVyU2lnbgllc3RpbWF0ZWQGbnVtZXJvB2F0LmNhc2UHYml0Y29pbgRkb25nBGV1cm8HaHJ5dm5pYQtsaXJhVHVya2lzaAVuYWlyYQRwZXNvBXJ1YmxlC3J1cGVlSW5kaWFuBnNoZXFlbAN3b24DT2htCWluY3JlbWVudAVtaWNybxBwZXJ0aG91c2FuZC5tb25vDHBlcmNlbnQucGFydA1wZXJjZW50LnBhcnQyB3VwQXJyb3cObm9ydGhFYXN0QXJyb3cKcmlnaHRBcnJvdw5zb3V0aEVhc3RBcnJvdwlkb3duQXJyb3cOc291dGhXZXN0QXJyb3cJbGVmdEFycm93Dm5vcnRoV2VzdEFycm93C2JsYWNrQ2lyY2xlC3doaXRlQ2lyY2xlDGRpZXJlc2lzY29tYg1kb3RhY2NlbnRjb21iCWdyYXZlY29tYglhY3V0ZWNvbWIQaHVuZ2FydW1sYXV0Y29tYg1jYXJvbmNvbWIuYWx0DmNpcmN1bWZsZXhjb21iCWNhcm9uY29tYglicmV2ZWNvbWIIcmluZ2NvbWIJdGlsZGVjb21iCm1hY3JvbmNvbWIUY29tbWF0dXJuZWRhYm92ZWNvbWIMZG90YmVsb3djb21iD2NvbW1hYWNjZW50Y29tYgtjZWRpbGxhY29tYgpvZ29uZWtjb21iEWRpZXJlc2lzY29tYi5jYXNlEmRvdGFjY2VudGNvbWIuY2FzZQ5ncmF2ZWNvbWIuY2FzZQ5hY3V0ZWNvbWIuY2FzZRVodW5nYXJ1bWxhdXRjb21iLmNhc2USY2Fyb25jb21iLmFsdC5jYXNlE2NpcmN1bWZsZXhjb21iLmNhc2UOY2Fyb25jb21iLmNhc2UOYnJldmVjb21iLmNhc2UNcmluZ2NvbWIuY2FzZQ50aWxkZWNvbWIuY2FzZQ9tYWNyb25jb21iLmNhc2UPc3Ryb2tlc2hvcnRjb21iDnN0cm9rZWxvbmdjb21iDnNsYXNoc2hvcnRjb21iDXNsYXNobG9uZ2NvbWIOZG91YmxlcHJpbWVtb2QIcHJpbWVtb2QHaWphY3V0ZQdJSmFjdXRlEGNvbW1hdHVybmVkYWJvdmUIZG90YmVsb3cMSUphY3V0ZS5tb25vDElKYWN1dGUuc3MwNRFJSmFjdXRlLnNzMDUubW9ubwAAAAEAAf//AA8AAQACAA4AAAAAAAAAqAACABkAAQBPAAEAUQBfAAEAYQBrAAEAbQCPAAEAkQC9AAEAvwDiAAEA5AEUAAEBFwE5AAEBOwFTAAEBWAFYAAIBXgFeAAEBbAF/AAEBjAGNAAECAgICAAECBwIJAAECFgIXAAECGQIZAAECGwIcAAECHwIhAAECJgImAAECOQI5AAECPQI9AAECTAJNAAECTwJvAAMCgAKFAAEAAQADAAAAEAAAACAAAAAqAAIAAgJPAlMAAAJVAlsABQACAAECWwJeAAAAAgAEAk8CUwAAAlUCWwAFAmACZAAMAmYCawARAAAAAQAAAAoAdAC+AAJERkxUAA5sYXRuAB4ABAAAAAD//wADAAEAAgADAEAACkFaRSAAQENBVCAAQENSVCAAQEtBWiAAQE1BSCAAQE1PTCAAQE5MRCAAQFJPTSAAQFRBVCAAQFRSSyAAQAAA//8AAwAAAAIAAwAEa2VybgAaa2VybgAibWFyawAubWttawBCAAAAAgABAAAAAAAEAAEAAAABAAAAAAAIAAIAAwAEAAUABgAHAAgACQAAAAIACgALAAwAGrsc0EzWLNhQ2srkLOWw5drmCuY65qAAAgAIAAIACqVcAAEDWgAEAAABqAVYBVgFWAVYBVgFWAVYBVgEKgVYBVgFWBbiFuIGDghECEQIRAhECEQIRAiyCLIIsgiyFuIW4hbiFuIW4hbiFuIW4hbiFuIJBBaQCboOEA4QDhAOEA4QMrgOSjK4MrgyZhFMMrgRjhHwMrgSRjK4EoASuhL0MmYTOhOsE6wVmBWYFJoVmBWYFZgyuDK4MrgyuDK4MrgyuBZWFpAWkBaQFpAWkBaQFpAWkBaQFpAWkBaQFpAW4hd0G1IeuB9eH14fXh9eH9gf2B/YH9gf2B/YIDIkpiEMJKYkpiSmJjgmOCY4JjgmOCY4JjgmOCY4JjgmOCY4JoYrICsgKyArICsgK/owLDAsMCwwLDAsMCwwLDF6MXoxejF6pRQyDDIMMgwyDDIMWM4yZjK4MrgyuDK4MrgyuDK4MrgyuDK4pRQ0JjQmMu40JjOMNCY0JjQmNLQ1jjWONixONE40Tpo3JDa+NyQ3JDckNyQ3ejesORo56E40TjQ8ak40TjRONE40TjRONE40TjRNDmeYPOA9Ij0iPSI9Ij0iPSJKrEqsSqyk4j1UPZI+WD8SP/yk4kIOQQpBQEIOQkRDOkN8Q7ZEcEVSRVJGCGhWaFZG8kjgSRpKrEqsSqxKrEqsSqxK7ks4TQ5LfkvgTQ5MSk0OTQ5MrE0OTQ5NaE1oTdJONE6aTppO9FCKTzZP4FCKUmJRIFGOUmJR/FJiUsBV2ljOVoRW+lhkWM5iWGJYYlhiWGJYYlhiWGJYYlhiJmJYYlhZNF2+Xb5dvl2+Xb5eWGEyYTJhMmEyYTJhMmEyYdxh3GHcYdxiWGJYYlhiWGJYYlhiWGJYYiZiWGJYYlhihmKGYoZihmKGYzxjPGO6ZXBl8meYpOJoVqTiaIxojGi+aMxo0mmsaupseG1WbmhvYnAoc0p0KHT2dTR1cnV4dcp2HHZudsB4OniMeMp5THmeegB6bnrYe0Z7+HxGfMh9Sn1KfZSdxn1YfWp9lH3OfkSBjoKshPKIMItui9SL6ox0jHSMdIx0jI6PsI+wj7CPsI/ClESXTpo8nBac/J3GncaeNJ6qnjSeqp/Cn+Cfwp/gn0ifSJ/Cn+Cfwp/goAKgCKDSo5Kh+KOSo5yjnKOipDik4qUUpRSlFKUUAAIAIgABACQAAAAmACkAJAArAC0AKAAvAD4AKwBAAI8AOwCTAMkAiwDLAOIAwgDkAO4A2gDwAPMA5QD1ATkA6QE9AVEBLgFTAVcBQwFbAV4BSAFhAWoBTAGtAcIBVgHEAcgBbAHKAcoBcQHMAc0BcgHPAc8BdAHRAdUBdQHYAeEBegHjAeMBhAHlAeUBhQHpAekBhgHrAesBhwHtAe0BiAHxAgEBiQIDAgQBmgIHAgkBnAIOAg8BnwIVAhUBoQInAicBogJ/AoABowKDAoUBpQBLABj/7QAZ/+0AJv/pADD/+QBI/+oAXv/jAH7/tQC+/+8Ay//xAM3/7gDO/+4Az//uAND/7gDR/+4A0v/uANP/7gDkADUA8P/rAQgAAgEV/+8BKP/bAS8ABQEwAAUBMQAFATIABQEzAAUBNAAFATUABQFJ//4BSv/+AUv//gFM//4BTf/+AVP/6AFd/70BXv+6AWH/6QFi/8oBY///AWT/9AFl/+8BZv/0AWf/7AFo/9wBaf/zAWr/8QGtAAoBrv/5AbEACgGyAAcBswAMAbUAAwHFABwBxwAVAcv/yAHN/9EBz//BAdEAAgHS/6kB0//+AdwAAgHiAAYB5AADAeYAAwHqAAMB7AABAe4AAQHxABwB8gAcAgP/8QII/8kCCv+yAhD/xAIV/+8CJ//bAC0AGP/tABn/7QAm/+kAMP/5AEj/6gBe/+MAfv+1AL7/7wDL//EA8P/rARX/7wEo/9sBU//oAV3/vQFe/7oBYf/pAWL/ygFj//8BZP/0AWX/7wFm//QBZ//sAWj/3AFp//MBav/xAa0ACgGu//kBsQAKAbIABwGzAAwBtQADAcv/yAHN/9EBz//BAdEAAgHS/6kB0//+AdwAAgHi//4CA//xAgj/yQIK/7ICEP/EAhX/7wIn/9sAjQAB/+kAAv/pAAP/6QAE/+kABf/pAAb/6QAH/+kACP/pAAn/6QAK/+kAC//pAAz/6QAN//MADv/zABj//AAZ//wAMP//AD7//QBA//0Abf/eAG7/3gBv/94AcP/eAHH/3gB+/+oAf//xAID/8QCB//EAgv/xAIP/8QCE/+sAhf/aAIb/2gCH/9oAiP/aAIn/2gCK/9oAi//aAIz/+gCN//oAjv/6AI//+gCZ//8AtP/9AMz//gDU//0A1f/9ANb//QDX//0A2P/9ANn//QDa//0A2///ANwAAADd//0A3v/9AN///QDg//0A4f/9AOIADgDk//0A5f/9AOb//QDn//8A6P/9AOn//QDq//0A6//9AOz//QDt//0A7v/9AO///QDx//0A8v/9APP//QD1//0A9v/9APf//QD4//0A+f/9AQj//QEJ//0BC//9AQz//QEN//0BDv/9ARX/+QEW//4BF///ARj//wEZ//8BGv//ARv//wEo//cBKf/7ASr/+wEr//sBLP/7AS3/+wEu//gBL//3ATD/9wEx//cBMv/3ATP/9wE0//cBNf/3ATb/+QE3//kBOP/5ATn/+QFJ//8BSv//AUv//wFM//8BTf//AVT//gFV//4BVv/+AVf//gFb//4BXP/+AWL//wFo//IBrgABAbQAAQHR/+8B0v/iAdz/5wHd//UB3v/1Ad//9QHg//UB4v/qAeT/7wHm/+wB6v/qAez/7wHu/+0CCv/+An///QAbAH7/7ACE/+wA2wALANwABADiABIA5wAMASj//wEu//wBaP/2AbQAAQG5AAEBugABAbsAAQHLAAMBzwABAdH/6AHS/+gB3P/oAeL/6wHk//EB5v/rAer/6wHs//AB7v/qAgr//gIQAAECEgABABQAMP//AG7/0wB+/+QAhP/WAL7//wDiAAEBKP/6AS7/9QFj//sBaP/bAdH/1wHS/9cB3P/BAeL/3QHk/+QB5v/eAer/3AHs/+IB7v/dAgr/7AAtABj//wAZ//8AJv/uAEj/9wBe/+oAfv/7AIQAAQC+/+wAy//xANUABADY//kA2f/5ANoADADbAAYA3AAQAN8AFQDgABQA4gArAOQAJQDl//kA5v/5AOcABgDw/+4BFf/yARj/5QEo/9sBL//tATD/7QEx/+0BMv/tATP/7QE0/+0BNf/tAVP/7AFh//gBYv/8AWX/4gFn//gBrgABAbQAAQHN/+EB4gACAgP/9gIKAAECJ//mARUAAf+wAAL/sAAD/7AABP+wAAX/sAAG/7AAB/+wAAj/sAAJ/7AACv+wAAv/sAAM/7AADf+RAA7/kQAQ/+gAEf/oABL/6AAT/+gAFP/oABX/6AAY//MAGf/zACb/6gAo/+gAKf/oACv/6AAs/+gALf/oAD7/iABA/4gASP/wAFH/6ABS/+gAU//oAFT/6ABV/+gAVv/oAFf/6ABY/+gAWf/oAFr/6ABb/+gAXP/oAF3/6ABe/+gAYf/oAGb/7ABn/+wAaP/sAGn/7ABq/+wAa//sAGz/8gCE//8Ahf//AIb//wCH//8AiP//AIn//wCK//8Ai///AIz/+gCN//oAjv/6AI//+gCU/+gAlf/oAJb/6ACX/+gAmP/oAJn/8gCm/9oAp//aAKj/2gCp/9oAqv/aAKv/2gCs/9oArf/aAK7/2gCv/9oAsP/aALH/3QCy/9oAs//aALX/2gC2/9oAt//aALj/2gC5/9oAuv/aALv/2wC8/9sAvf/bAL7/1wC//9oAwP/aAMH/2gDC/9oAw//aAMT/2gDF/9oAxv/aAMf/2gDI/9oAyf/aAMv/3ADM/+8Azf/eAM7/3gDP/94A0P/eANH/3gDS/94A0//eANUABgDY/9IA2f/oANoAJgDbAAkA3AArAN8ALwDgAC8A4gBGAOX/0gDm/+gA5wAJAOr/0gDw/+0A8f/SAPL/0gDz/9IA9f/SAPb/0gD3/9IA+P/SAPn/0gD6/9oA+//aAPz/2gD9/9oA/v/aAP//2gEA/9oBAf/aAQL/2gED/9oBBP/aAQX/2gEG/9oBB//aAQj/0gEK/9sBC//SAQz/0gEN/9IBDv/SAQ//2QEQ/9kBEf/ZARL/2QET/9kBFP/ZARX/7QEW/+8BF//yARj/6gEZ//IBGv/yARv/8gEc/9cBHf/XAR7/1wEf/9cBIP/XASH/1wEi/9cBI//XAST/1wEl/9cBJv/XASf/1wEo/+QBKf/lASr/5QEr/+UBLP/lAS3/5QEu/84BL//lATD/5QEx/+UBMv/lATP/5QE0/+UBNf/lATb/ygE3/8oBOP/KATn/ygE9/9sBPv/bAT//2wFA/9sBQf/bAUL/2wFD/9sBRP/bAUX/2wFG/9sBR//bAUj/2wFJ/8kBSv/JAUv/yQFM/8kBTf/JAVP/7QFU/+8BVf/vAVb/7wFX/+8BW//vAVz/7wFeAAEBYf/4AWP/9AFk//QBZf/SAWb/+AFn//YBaAAFAWn/9gFq//kBtwABAbgAFAG5AAEBugABAb0AAQG+AA8Bwf/kAcL/5AHE/5wBxf+cAcb/6wHH/+sByP+cAckAAQHLAAEBzf/oAdH/swHY/+QB2f/kAdr/5AHb/+QB3P+ZAd3/6wHe/+sB3//rAeD/6wHx/5wB8v+cAff/4AH4//AB+f/gAfr/8AH9/+AB/v/wAf//4AIA//ACA//tAgT/6gIKACACEAACAhIAAgIV//ICJ//9AA4AGP/9ABn//QB+/+QAvv//AOIAAgDw//8BFf/7ASj/9wFT//8BaP/qAdL/2QHi//EB6v/zAgr/7QDAAAH/+QAC//kAA//5AAT/+QAF//kABv/5AAf/+QAI//kACf/5AAr/+QAL//kADP/5ABD//wAR//8AEv//ABP//wAU//8AFf//ACj//wAp//8AK///ACz//wAt//8APv/7AED/+wBR//8AUv//AFP//wBU//8AVf//AFb//wBX//8AWP//AFn//wBa//8AW///AFz//wBd//8AYf//AG3//ABu//wAb//8AHD//ABx//wAlP//AJX//wCW//8Al///AJj//wCm//YAp//2AKj/9gCp//YAqv/2AKv/9gCs//YArf/2AK7/9gCv//YAsP/2ALH/9gCy//YAs//2ALX/8QC2//EAt//xALj/8QC5//EAuv/xALv/8QC8//EAvf/xAL7/+QC///EAwP/xAMH/8QDC//EAw//xAMT/8QDF//EAxv/xAMf/8QDI//EAyf/xAMv/+gDN//EAzv/xAM//8QDQ//EA0f/xANL/8QDT//EA1QASANsABADcAAYA3//8AOIAGADnAAQA6v/2APD/+gDx//YA8v/2APP/9gD1//YA9v/2APf/9gD4//YA+f/2APr/8QD7//EA/P/xAP3/8QD+//EA///xAQD/8QEB//EBAv/xAQP/8QEE//EBBf/xAQb/8QEH//EBCP/2AQr/8QEL//YBDP/2AQ3/9gEO//YBD//2ARD/9gER//YBEv/2ARP/9gEU//YBFf/5ARz/9gEd//YBHv/2AR//9gEg//YBIf/2ASL/9gEj//YBJP/2ASX/9gEm//YBJ//2ASj//AEp//0BKv/9ASv//QEs//0BLf/9ATb//wE3//8BOP//ATn//wE9//EBPv/xAT//8QFA//EBQf/xAUL/8QFD//EBRP/xAUX/8QFG//EBR//xAUj/8QFJ//EBSv/xAUv/8QFM//EBTf/xAVP/+gFl//sBxP/2AcX/9gHI//YBywAPAc8AAQHd//YB3v/2Ad//9gHg//YB6v/+AfH/9gHy//YB9//sAfn/7AH9/+wB///sABAANgADADcAIgA6AEIAvv/5AMv/+gDV//0A2///ANwAAgDf//0A4gATAOf//wDw//oBFf/5ASj//AFT//oBZf/7ABgANgB0ADcATQA6AAMAvv/5AMv/+gDV//0A2///ANwAAgDf//0A4gATAOf//wDw//oBFf/5ASj//AFT//oBZf/7AeIAGAHkABMB5gAZAeoANwHsADAB7gA5AfsAAQH8AAEAFQA2AEwAOgAiAL7/+QDL//oA1f/9ANv//wDcAAIA3//9AOIAEwDn//8A8P/6ARX/+QEo//wBU//6AWX/+wHiAAYB5AADAeYABAHqAAoB7AAHAe4ACAAOAL7/+QDL//oA1f/9ANv//wDcAAIA3//9AOIAEwDkAAAA5///APD/+gEV//kBKP/8AVP/+gFl//sADgC+//kAy//6ANX//QDb//8A3AACAN///QDiABMA5///APD/+gEV//kBKP/8AVP/+gFl//sB6gABAA4Avv/5AMv/+gDV//0A2///ANwAAgDf//0A4gATAOQAAQDn//8A8P/6ARX/+QEo//wBU//6AWX/+wARAD0AigC+//kAy//6ANX//QDb//8A3AACAN///QDiABMA5///APD/+gEV//kBKP/8AVP/+gFl//sB6gAFAewABAHuAAQAHACE//8Avv/5AMv/+gDV//4A2v/8ANv//wDcAAIA3//9AOD//ADiABgA5///APD/+wEV//kBKP/9AVP/+wFl//sB0f/hAdz/2QHiAB4B5AAaAeYAIAHqAD0B7AA3Ae4APwH0AAIB9gACAfsAAgH8AAIAOwAY//sAGf/7ACb/0gBI//oAXv/NAL7/4QDL/+YA2gAZANwAEgDfAC0A4AAFAOIAGwDw/+kBBP/uAQX/7gEV//cBGP/YASj/wgFT/9oBYf/qAWL/6gFjAAcBZP/2AWX/3wFm//oBZ//rAWgAAQFp//YBav/3Aa0AIAGwAAMBsQAgAbIAHAGzACIBtQAZAbYABgG4ABYBuQABAboAAQG+AA4BvwABAcAAAQHJAAMBy//uAc3/vwHP/+gB0QAbAdIAAgHcABAB5AACAeYAAgHsAAEB7gAIAgP/7gII/98CCgAeAhD/4gIV/+wCJ//AAD8AGP/kABn/5AAm/9YAMP/5AEj/3QBe/78Abf+AAG7/gABv/4AAcP+AAHH/gAB+/48AhAAKAIX/hwCG/4cAh/+HAIj/hwCJ/4cAiv+HAIv/hwC+/+MAy//rAPD/4AEV/+8BKP+2AS4AAQFT/9kBXf+AAV7/gAFh/9oBYv/FAWT/9AFl/9YBZv/xAWf/4AFo/9sBaf/yAWr/7wGtAAEBrgADAa8AAgGwAAEBsQACAbMAAQG0AAMBtQABAbYAAQHL/7wBzf+cAc//ewHS/5YB4v/+AfT/pgH2/6YB+/+xAfz/sQID/+0CCP9/Agr/fwIQ/4UCEv/xAhX/5QIn/6YALwAY/+QAGf/kACb/1gAw//kASP/dAF7/vwB+/40AhAAKAL7/4wDL/+sA8P/gARX/7wEo/7YBLgABAVP/2QFd/4ABXv+AAWH/2gFi/8UBZP/0AWX/1gFm//EBZ//gAWj/2wFp//IBav/vAa0AAQGuAAMBrwACAbAAAQGxAAIBswABAbQAAwG1AAEBtgABAcv/vAHN/5wBz/97AdL/lgHi//4CA//tAgj/fwIK/38CEP+FAhL/8QIV/+UCJ/+mAA4Avv/5AMv/+gDV//0A2///ANwAAgDf//0A4gATAOT//QDn//8A8P/6ARX/+QEo//wBU//6AWX/+wAUADD//wBu/9UAfv/kAIT/2QC+//8A4gABASj/+gEu//UBY//7AWj/3QHR/9cB0v/XAdz/xAHi/90B5P/lAeb/3wHq/9wB7P/iAe7/3gIK/+0AJAAY//8AGf//ACb/7gBI//cAXv/qAH7/+wCEAAEAvv/sAMv/8QDVAAQA2P/5ANn/+QDaAAwA2wAGANwAEADfABUA4AAUAOIAKwDl//kA5v/5AOcABgDw/+4BFf/yARj/5QEo/9sBU//sAWH/+AFi//wBZf/iAWf/+AGuAAEBtAABAc3/4QID//YCCgABAif/5gD3AAH/tgAC/7YAA/+2AAT/tgAF/7YABv+2AAf/tgAI/7YACf+2AAr/tgAL/7YADP+2AA3/pgAO/6YAEP/8ABH//AAS//wAE//8ABT//AAV//wAGP/7ABn/+wAm//wAKP/8ACn//AAr//wALP/8AC3//AA+/5oAQP+aAEj/8ABR//wAUv/8AFP//ABU//wAVf/8AFb//ABX//wAWP/8AFn//ABa//wAW//8AFz//ABd//wAXv/8AGH//ABm//sAZ//7AGj/+wBp//sAav/7AGv/+wBt//AAbv/wAG//8ABw//AAcf/wAH7/9AB///4AgP/+AIH//gCC//4Ag//+AIT/2gCF/+cAhv/nAIf/5wCI/+cAif/nAIr/5wCL/+cAjP/xAI3/8QCO//EAj//xAJT//ACV//wAlv/8AJf//ACY//wAmQABAKb/8QCn//EAqP/xAKn/8QCq//EAq//xAKz/8QCt//EArv/xAK//8QCw//EAsf/xALL/8QCz//EAtf/pALb/6QC3/+kAuP/pALn/6QC6/+kAu//qALz/6gC9/+oAvv/kAL//6QDA/+kAwf/pAML/6QDD/+kAxP/pAMX/6QDG/+kAx//pAMj/6QDJ/+kAy//xAM3/7QDO/+0Az//tAND/7QDR/+0A0v/tANP/7QDVAAMA2wAnANwACADgABMA4gA3AOcAKADq//sA8P/yAPH/+wDy//sA8//7APX/+wD2//sA9//7APj/+wD5//sA+v/pAPv/6QD8/+kA/f/pAP7/6QD//+kBAP/pAQH/6QEC/+kBA//pAQT/6QEF/+kBBv/pAQf/6QEI//sBCv/qAQv/+wEM//sBDf/7AQ7/+wEP//QBEP/0ARH/9AES//QBE//0ART/9AEV//8BFwABARgAAQEZAAEBGgABARsAAQEuAAEBLwABATAAAQExAAEBMgABATMAAQE0AAEBNQABATb//wE3//8BOP//ATn//wE9/+oBPv/qAT//6gFA/+oBQf/qAUL/6gFD/+oBRP/qAUX/6gFG/+oBR//qAUj/6gFJ/+IBSv/iAUv/4gFM/+IBTf/iAVP/8gFdAAEBXgABAWIAAQFl/88BZv//AWn//wG3AAEBuQABAboAAgG7AAMBvAACAb0AAQG/AAIBwAABAcH/4gHC/+IBxP+ZAcX/mQHI/5kBywAWAc3/9gHPAAMB0f+1AdL//QHY/90B2f/dAdr/3QHb/90B3P+KAeL/7QHk//IB5v/wAer/6AHs/+sB7v/lAfH/mQHy/5kB9//hAfn/4QH9/+EB///hAgT/6gIIAAECEAAJAhIAAgDZAAH/1wAC/9cAA//XAAT/1wAF/9cABv/XAAf/1wAI/9cACf/XAAr/1wAL/9cADP/XAA3/xwAO/8cAPv/0AED/9ABm//sAZ//7AGj/+wBp//sAav/7AGv/+wBt/5QAbv+UAG//lABw/5QAcf+UAH7/2QB//+gAgP/oAIH/6ACC/+gAg//oAIT/tACF/7AAhv+wAIf/sACI/7AAif+wAIr/sACL/7AAjP/CAI3/wgCO/8IAj//CAKb//wCn//8AqP//AKn//wCq//8Aq///AKz//wCt//8Arv//AK///wCw//8Asf//ALL//wCz//8AtP/7ALX//wC2//8At///ALj//wC5//8Auv//ALv//wC8//8Avf//AL///wDA//8Awf//AML//wDD//8AxP//AMX//wDG//8Ax///AMj//wDJ//8A1P/7ANX/+wDW//sA1//7ANj/+wDZ//sA2v/7ANv/+wDc//sA3f/7AN7/+wDf//sA4P/7AOH/+wDi//sA5P/7AOX/+wDm//sA5//7AOj/+wDp//sA6v/7AOv/+wDs//sA7f/7AO7/+wDv//sA8f/7APL/+wDz//sA9f/7APb/+wD3//sA+P/7APn/+wD6//8A+///APz//wD9//8A/v//AP///wEA//8BAf//AQL//wED//8BBP//AQX//wEG//8BB///AQj/+wEJ//sBCv//AQv/+wEM//sBDf/7AQ7/+wEP//8BEP//ARH//wES//8BE///ART//wEc//8BHf//AR7//wEf//8BIP//ASH//wEi//8BI///AST//wEl//8BJv//ASf//wEo//kBKf/7ASr/+wEr//sBLP/7AS3/+wEu/+wBL//5ATD/+QEx//kBMv/5ATP/+QE0//kBNf/5ATb/8AE3//ABOP/wATn/8AE9//8BPv//AT///wFA//8BQf//AUL//wFD//8BRP//AUX//wFG//8BR///AUj//wFJ//UBSv/1AUv/9QFM//UBTf/1AU7//AFP//wBUP/8AVH//AFS//wBxP+hAcX/oQHI/6EBy//2AdH/zQHS/80B3P+gAeL/1gHk/9wB5v/WAer/1QHs/9sB7v/WAfH/oQHy/6EB8//0AfT/8AH1//QB9v/wAfv/7gH8/+4CCv/kAn//+wApAAH/6AAC/+gAA//oAAT/6AAF/+gABv/oAAf/6AAI/+gACf/oAAr/6AAL/+gADP/oAA3/6wAO/+sAGP//ABn//wAw//8Abv/VAH7/5ACE/98Avv//AOIAAQEo//oBLv/2AWP/+wFo/90BxP/SAcX/0gHI/9IB0f/cAdL/1wHc/8oB4v/dAeT/5QHm/+AB6v/cAez/4gHu/98B8f/SAfL/0gIK/+0AHgAY//oAGf/6ACb/+gBI//kAXv/5AH7/7AC+//UAy//4ANsABgDcAAAA4gAWAOcABwDw//IBFf/5ASj/+QFT//EBYf//AWX/9QFm//8BZ///AWj/+AGtAAEBsQACAbIAAQGzAAIBtQABAc3/6wHS/+cCCv/+Aif//gAWAH7/6ACE/+4A2wAJANwAAgDiABgA5wAKAPD//wEV//gBKP/3AS7/9gFT//8BaP/7AcsAAQHR//wB0v/qAdz//AHi/+4B5P/+Aeb/8QHq/+4B7P/zAe7/8QA2AAH/6gAC/+oAA//qAAT/6gAF/+oABv/qAAf/6gAI/+oACf/qAAr/6gAL/+oADP/qAG3/3wBu/98Ab//fAHD/3wBx/98Afv/mAH//7gCA/+4Agf/uAIL/7gCD/+4AhP/rAIX/1gCG/9YAh//WAIj/1gCJ/9YAiv/WAIv/1gCM//oAjf/6AI7/+gCP//oBzf/1AdH/8AHS/94B3P/lAd3/7QHe/+0B3//tAeD/7QHi/+cB5P/uAeb/6gHq/+gB7P/uAe7/6wH0//4B9v/+Afv//gH8//4CCv/wAOYAEP/UABH/1AAS/9QAE//UABT/1AAV/9QAGP/mABn/5gAm/9wAKP/UACn/1AAr/9QALP/UAC3/1AAw//wAPv+ZAED/mQBI/+EAUf/UAFL/1ABT/9QAVP/UAFX/1ABW/9QAV//UAFj/1ABZ/9QAWv/UAFv/1ABc/9QAXf/UAF7/ygBh/9QAbP/jAH4AAQCE//wAlP/UAJX/1ACW/9QAl//UAJj/1ACm/50Ap/+dAKj/ngCp/6EAqv+kAKv/nQCs/58Arf+fAK7/nQCv/50AsP+dALH/qgCy/50As/+dALX/nAC2/5wAt/+dALj/nAC5/54Auv+cALv/nAC8/5wAvf+cAL7/oQC//5wAwP+cAMH/nADC/54Aw/+eAMT/oQDF/5wAxv+cAMf/nADI/5wAyf+cAMv/iQDN/50Azv+dAM//nQDQ/54A0f+dANL/nQDT/50A1QAEANj/mwDZ/8gA2gAnANsACQDcACsA3wAwAOAALwDiAEcA5f+bAOb/yQDnAAkA6v+cAPD/1wDx/5wA8v+cAPP/nAD1/5wA9v+cAPf/nAD4/6AA+f+cAPr/nAD7/5wA/P+cAP3/nQD+/6AA//+cAQD/nAEB/5wBAv+cAQP/nAEE/5wBBf+cAQb/owEH/5wBCP+cAQr/nAEL/5wBDP+cAQ3/xAEO/5wBD/+eARD/ngER/7YBEv+eARP/pQEU/54BFf+8ARj/wgEc/5sBHf+bAR7/mwEf/5sBIP+cASH/mwEi/5sBI/+bAST/mwEl/5sBJv+bASf/nwEo/6MBKf+lASr/pQEr/6UBLP+lAS3/pQEu/6IBL/+jATD/owEx/6QBMv+nATP/owE0/6MBNf+4ATb/kwE3/5MBOP+pATn/kwE9/5wBPv+cAT//nAFA/5wBQf+fAUL/nAFD/5wBRP+cAUX/nAFG/5wBR/+cAUj/ogFJ/5YBSv+YAUv/nAFM/5YBTf+WAVP/2QFdAAEBXgACAWH/3wFi//IBY//xAWT/8gFl/6QBZv/vAWf/1gFoAAUBaf/rAWr/7gG3AAEBuAAVAbkAAQG6AAEBvQABAb4AEAHAAAEBxv/AAcf/wAHJAAEBywACAc3/qAHR/6oB0//EAdj/uwHZ/7sB2v+7Adv/uwHc/7sB3f+6Ad7/ugHf/7oB4P+6Aff/sgH5/7IB/f+yAf//sgID/8ICBP/aAgf/3AIJ/9wCCgAgAhD/9QIS/+oCFf/JAif/rwBkABj/5gAZ/+YAJv/cADD//ABI/+EAXv/KAGz/4wB+AAEAhP//AKj/jwCp/5MAqv+WAKz/kACt/5AAsf+tALf/igC5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AB//+wAg//sAIf/7ACL/+wAj//sAJP/7ACb/+gAn//sAKP/6ACn/+gAr//oALP/6AC3/+gAv//sAMP/7ADH/+wAy//sAM//7ADT/+wA1//sANv/7ADf/+wA4//sAOf/7ADr/+wA7//sAPP/7AD3/+wA+/9wAQP/cAEH/+wBC//sAQ//7AET/+wBF//sARv/7AEf/+wBJ//sASv/7AEv/+wBM//sATf/7AE7/+wBP//sAUP/7AFH/+gBS//oAU//6AFT/+gBV//oAVv/6AFf/+gBY//oAWf/6AFr/+gBb//oAXP/6AF3/+gBf//sAYP/7AGH/+gBi//sAY//7AGT/+wBl//sAZv/4AGf/+ABo//gAaf/4AGr/+ABr//gAbf+bAG7/mwBv/5sAcP+bAHH/mwB+/+cAf//xAID/8QCB//EAgv/xAIP/8QCE/9IAhf+9AIb/vQCH/70AiP+9AIn/vQCK/70Ai/+9AIz/zwCN/88Ajv/PAI//zwCT//sAlP/6AJX/+gCW//oAl//6AJj/+gCa//sAm//7AJz/+wCd//sAnv/7AJ//+wCg//sAof/7AKL/+wCj//sApP/7AKX/+wCm//MAp//zAKj/8wCp//MAqv/zAKv/8wCs//MArf/zAK7/8wCv//MAsP/zALH/8wCy//MAs//zALX/8gC2//IAt//yALj/8gC5//IAuv/yALv/8wC8//MAvf/zAL7/8AC///IAwP/yAMH/8gDC//IAw//yAMT/8gDF//IAxv/yAMf/8gDI//IAyf/yAMv/9QDM//8Azf/0AM7/9ADP//QA0P/0ANH/9ADS//QA0//0APD/9gD6//IA+//yAPz/8gD9//IA/v/yAP//8gEA//IBAf/yAQL/8gED//IBBP/yAQX/8gEG//IBB//yAQr/8wEP//IBEP/yARH/8gES//IBE//yART/8gEV//YBFv//ATb//gE3//4BOP/+ATn//gE9//MBPv/zAT//8wFA//MBQf/zAUL/8wFD//MBRP/zAUX/8wFG//MBR//zAUj/8wFJ/+4BSv/uAUv/7gFM/+4BTf/uAVP/9QFU//8BVf//AVb//wFX//8BW///AVz//wFdAAIBXgACAWH//wFiAAEBY///AWT//wFl/98BZv/+AWf//gFo/7wBaf/6AWr//wG3AAIBugADAbsADQG8AAMBvQAD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ABAA6wAQAOwAEADtABAA7gAQAO8AEADw//YA9QABAQkAEAERAAUBFf/4ARb/+AEX//kBGP/5ARn/+QEa//kBG//5ASj/8wEp//UBKv/1ASv/9QEs//UBLf/1AS//9AEw//QBMf/0ATL/9AEz//QBNP/0ATX/9AE4AAgBTgAUAU8AFAFQABQBUQAUAVIAFAFT//QBVP/4AVX/+AFW//gBV//4AVv/+AFc//gBXf/9AV7//QFh//MBYv/yAWX/6wFm//oBZ//1AWj/8gFp//kBav/6Aa4AAgHJAC4BywAgAc3/0gHPAAwB0v/hAeIAVgHkAFEB5gBXAfMABwH0ADgB9QAHAfYAOAH4AAQB+gAEAfsAPQH8AD0B/gAEAgAABAID//4CB///AggAAwIJ//8CCv/yAhD/7gIn/+wCfwAXACAAGf/wACb/8QB+/+MAvv/1AMv/9wDiAAQA5AACAPD/9gEV//gBKP/tAVP/9AFd//0BXv/9AWH/8wFi//IBZf/rAWb/+gFn//UBaP/yAWn/+QFq//oBrgACAcv/8QHN/9IBz//wAdL/4QHi//4CA//+Agj/7QIK//ICEP/uAif/7ABpAKb//wCn//8AqP//AKn//wCq//8Aq///AKz//wCt//8Arv//AK///wCw//8Asf//ALL//wCz//8Atf/5ALb/+QC3//kAuP/5ALn/+QC6//kAu//6ALz/+gC9//oAv//5AMD/+QDB//kAwv/5AMP/+QDE//kAxf/5AMb/+QDH//kAyP/5AMn/+QDN//sAzv/7AM//+wDQ//sA0f/7ANL/+wDT//sA8P/7APr/+QD7//kA/P/5AP3/+QD+//kA///5AQD/+QEB//kBAv/5AQP/+QEE//kBBf/5AQb/+QEH//kBCv/6AQ///wEQ//8BEf//ARL//wET//8BFP//ASj//wEp//8BKv//ASv//wEs//8BLf//AS///wEw//8BMf//ATL//wEz//8BNP//ATX//wE9//oBPv/6AT//+gFA//oBQf/6AUL/+gFD//oBRP/6AUX/+gFG//oBR//6AUj/+gFJ//8BSv//AUv//wFM//8BTf//AVP/+gHL//MB2P/wAdn/8AHa//AB2//wAeL/8AH3/+wB+f/sAf3/7AH//+wCBP/zAC8AJv/9AH4ACgC+/+kAy//2ANUABwDaAC8A2wAIANwAMwDfADYA4AA3AOIATQDnAAgA8P/yARX/+AEYAAIBKAABAS4AAgFT//IBXQABAV4AAgFiAAEBZf/YAWgAGQG3AAcBuAAcAbkACAG6ABEBuwATAbwAEQG9AAkBvgAVAb8ADAHAAAoByQABAcsAGwHN/+ABzwADAdH/1QHSAA8B3P/hAeQABAHmAAsCBP/1AggAAQIKACECEAATAhIADQANABn/+AAm//8Afv/9ANUAAwDaAAIA2wAFANwACADfAAMA4AACAOIAGwDnAAUBZf/6Ac3/4wAMABn/8AAm//EAfv/jAL7/9QDL//cA4gAEAPD/9gEV//gBKP/tAVP/9AFd//0BXv/9AAMB4v/uAer/6gHu//IAAQHq//4ANgAB/+cAAv/nAAP/5wAE/+cABf/nAAb/5wAH/+cACP/nAAn/5wAK/+cAC//nAAz/5wBt/9wAbv/cAG//3ABw/9wAcf/cAH7/5wB///AAgP/wAIH/8ACC//AAg//wAIT/7ACF/9EAhv/RAIf/0QCI/9EAif/RAIr/0QCL/9EAjP/xAI3/8QCO//EAj//xASj//wEp//8BKv//ASv//wEs//8BLf//AS///wEw//8BMf//ATL//wEz//8BNP//ATX//wFJ//oBSv/6AUv/+gFM//oBTf/6AgH/9ABPAAH//AAC//wAA//8AAT//AAF//wABv/8AAf//AAI//wACf/8AAr//AAL//wADP/8AH7//ACF//YAhv/2AIf/9gCI//YAif/2AIr/9gCL//YAtf/8ALb//AC3//wAuP/8ALn//AC6//wAu//6ALz/+gC9//oAv//8AMD//ADB//wAwv/8AMP//ADE//wAxf/8AMb//ADH//wAyP/8AMn//ADN//wAzv/8AM///ADQ//wA0f/8ANL//ADT//wA+v/8APv//AD8//wA/f/8AP7//AD///wBAP/8AQH//AEC//wBA//8AQT//AEF//wBBv/8AQf//AEK//oBPf/6AT7/+gE///oBQP/6AUH/+gFC//oBQ//6AUT/+gFF//oBRv/6AUf/+gFI//oBSf//AUr//wFL//8BTP//AU3//wBjAAH//wAC//8AA///AAT//wAF//8ABv//AAf//wAI//8ACf//AAr//wAL//8ADP//AD7/9ABA//QAbf/0AG7/9ABv//QAcP/0AHH/9AB+//IAf//4AID/+ACB//gAgv/4AIP/+ACF/+UAhv/lAIf/5QCI/+UAif/lAIr/5QCL/+UAtf/5ALb/+QC3//kAuP/5ALn/+QC6//kAu//3ALz/9wC9//cAv//5AMD/+QDB//kAwv/5AMP/+QDE//kAxf/5AMb/+QDH//kAyP/5AMn/+QDN//kAzv/5AM//+QDQ//kA0f/5ANL/+QDT//kA+v/5APv/+QD8//kA/f/5AP7/+QD///kBAP/5AQH/+QEC//kBA//5AQT/+QEF//kBBv/5AQf/+QEK//cBKP//ASn//wEq//8BK///ASz//wEt//8BL///ATD//wEx//8BMv//ATP//wE0//8BNf//AT3/9wE+//cBP//3AUD/9wFB//cBQv/3AUP/9wFE//cBRf/3AUb/9wFH//cBSP/3ADcAAf/zAAL/8wAD//MABP/zAAX/8wAG//MAB//zAAj/8wAJ//MACv/zAAv/8wAM//MAbf/oAG7/6ABv/+gAcP/oAHH/6AB+/+oAf//wAID/8ACB//AAgv/wAIP/8ACE//4Ahf/XAIb/1wCH/9cAiP/XAIn/1wCK/9cAi//XAMz//wEW//8BKP/5ASn//wEq//8BK///ASz//wEt//8BL//5ATD/+QEx//kBMv/5ATP/+QE0//kBNf/5AUn//wFK//8BS///AUz//wFN//8BVP//AVX//wFW//8BV///AEQAAf/zAAL/8wAD//MABP/zAAX/8wAG//MAB//zAAj/8wAJ//MACv/zAAv/8wAM//MAbf/aAG7/2gBv/9oAcP/aAHH/2gB+/9oAf//iAID/4gCB/+IAgv/iAIP/4gCE//YAhf/QAIb/0ACH/9AAiP/QAIn/0ACK/9AAi//QAIz/+ACN//gAjv/4AI//+ACZ//UAzP/zARb/8wEX//UBGP/1ARn/9QEa//UBG//1ASj/7wEp//QBKv/0ASv/9AEs//QBLf/0AS7/8wEv/+8BMP/vATH/7wEy/+8BM//vATT/7wE1/+8BNv/zATf/8wE4//MBOf/zAVT/8wFV//MBVv/zAVf/8wFd/+gBXv/pAgH/7wA+AAH/9AAC//QAA//0AAT/9AAF//QABv/0AAf/9AAI//QACf/0AAr/9AAL//QADP/0AG3/9wBu//cAb//3AHD/9wBx//cAfv/0AH///wCA//8Agf//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AU0AAQAUAAEACQACAAkAAwAJAAQACQAFAAkABgAJAAcACQAIAAkACQAJAAoACQALAAkADAAJAIQAFADkAAsBLgAMAUkAAQFKAAEBSwABAUwAAQFNAAEAFAABAAwAAgAMAAMADAAEAAwABQAMAAYADAAHAAwACAAMAAkADAAKAAwACwAMAAwADACEABYA5AALAS4ADwFJAAEBSgABAUsAAQFMAAEBTQABABQAAQADAAIAAwADAAMABAADAAUAAwAGAAMABwADAAgAAwAJAAMACgADAAsAAwAMAAMAhAARAOQACgEuAAgBSQABAUoAAQFLAAEBTAABAU0AAQBeAAH//gAC//4AA//+AAT//gAF//4ABv/+AAf//gAI//4ACf/+AAr//gAL//4ADP/+AD4ADgBAAA4AZgAGAGcABgBoAAYAaQAGAGoABgBrAAYApgABAKcAAQCoAAEAqQABAKoAAQCrAAEArAABAK0AAQCuAAEArwABALAAAQCxAAEAsgABALMAAQC1AAEAtgABALcAAQC4AAEAuQABALoAAQC7AAEAvAABAL0AAQC/AAEAwAABAMEAAQDCAAEAwwABAMQAAQDFAAEAxgABAMcAAQDIAAEAyQABAM0AAQDOAAEAzwABANAAAQDRAAEA0gABANMAAQD6AAEA+wABAPwAAQD9AAEA/gABAP8AAQEAAAEBAQABAQIAAQEDAAEBBAABAQUAAQEGAAEBBwABAQoAAQEPAAIBEAACAREAAgESAAIBEwACARQAAgE9AAEBPgABAT8AAQFAAAEBQQABAUIAAQFDAAEBRAABAUUAAQFGAAEBRwABAUgAAQAUAAEAAgACAAIAAwACAAQAAgAFAAIABgACAAcAAgAIAAIACQACAAoAAgALAAIADAACAIQADQDkABEBLgADAUkAAQFKAAEBSwABAUwAAQFNAAEADwABAAkAAgAJAAMACQAEAAkABQAJAAYACQAHAAkACAAJAAkACQAKAAkACwAJAAwACQCEABQA5AAJAS4ADAAgAG0AAQBuAAEAbwABAHAAAQBxAAEAhf/+AIb//gCH//4AiP/+AIn//gCK//4Ai//+AJkAAQEXAAEBGAABARkAAQEaAAEBGwABASgAAgEpAAIBKgACASsAAgEsAAIBLQACAS4AAwEvAAMBMAADATEAAwEyAAMBMwADATQAAwE1AAMAFAB+AAEAfwABAIAAAQCBAAEAggABAIMAAQEoAAEBKQABASoAAQErAAEBLAABAS0AAQEuAAIBLwABATAAAQExAAEBMgABATMAAQE0AAEBNQABABgAbQABAG4AAQBvAAEAcAABAHEAAQB+AAIAfwABAIAAAQCBAAEAggABAIMAAQCFAAEAhgABAIcAAQCIAAEAiQABAIoAAQCLAAEAmQABARcAAQEYAAEBGQABARoAAQEbAAEAGwB+//oAmQAKAMwACAEWAAgBFwAKARgACgEZAAoBGgAKARsACgEoAAMBKQADASoAAwErAAMBLAADAS0AAwEuAAMBLwADATAAAwExAAMBMgADATMAAwE0AAMBNQADAVQACAFVAAgBVgAIAVcACAAaAJkAEADMAA0BFgANARcAEAEYABABGQAQARoAEAEbABABKAANASkACgEqAAoBKwAKASwACgEtAAoBLgAJAS8AEQEwABEBMQARATIAEQEzABEBNAARATUAEQFUAA0BVQANAVYADQFXAA0AGwB+//YAmQAMAMwACgEWAAoBFwAMARgADAEZAAwBGgAMARsADAEoAAkBKQADASoAAwErAAMBLAADAS0AAwEuAAQBLwAMATAADAExAAwBMgAMATMADAE0AAwBNQAMAVQACgFVAAoBVgAKAVcACgAsAG0AAQBuAAEAbwABAHAAAQBxAAEAfgACAH8AAgCAAAIAgQACAIIAAgCDAAIAhQABAIYAAQCHAAEAiAABAIkAAQCKAAEAiwABAJkABwDMAAQBFgAEARcABwEYAAcBGQAHARoABwEbAAcBKAADASkAAwEqAAMBKwADASwAAwEtAAMBLgADAS8AAwEwAAMBMQADATIAAwEzAAMBNAADATUAAwFUAAQBVQAEAVYABAFXAAQAEwBtABEAbgARAG8AEQBwABEAcQARAH4AFgB/ABIAgAASAIEAEgCCABIAgwASAIQACgCFABEAhgARAIcAEQCIABEAiQARAIoAEQCLABEAIAB+AAEAfwABAIAAAQCBAAEAggABAIMAAQCZAAkAzAAGARYABgEXAAkBGAAJARkACQEaAAkBGwAJASgAAwEpAAMBKgADASsAAwEsAAMBLQADAS4AAwEvAAMBMAADATEAAwEyAAMBMwADATQAAwE1AAMBVAAGAVUABgFWAAYBVwAGACAAbQABAG4AAQBvAAEAcAABAHEAAQCF//8Ahv//AIf//wCI//8Aif//AIr//wCL//8AmQABARcAAQEYAAEBGQABARoAAQEbAAEBKAACASkAAgEqAAIBKwACASwAAgEtAAIBLgADAS8AAwEwAAMBMQADATIAAwEzAAMBNAADATUAAwADAH7/4ACE/+4BKP/rAAQAbv/AAH7/3gCEAAIA4gACAAoATgAGAG7/wAB+/94AhAACAOIABQDkAAYA5QAGAOYABgDnAAYA9wAGAA4AGP/nABn/5wAm/9oAMP/0AEj/4gBe/88Afv+hAIQAAwC+//MA8P/jARX/8QEo/8QBLgABAVP/4QAdAA0AAQAOAAEATgAJAG3/uQBu/8AAb/+5AHD/uQBx/7kAfv/kAH//7QCA/+0Agf/tAIL/7QCD/+0Ahf/KAIb/ygCH/8oAiP/KAIn/ygCK/8oAi//KAOIAAwDkAAsA5QALAOYACwDnAAsA7gACAPcACwEOAAMA0gABAAEAAgABAAMAAQAEAAEABQABAAYAAQAHAAEACAABAAkAAQAKAAEACwABAAwAAQANACEADgAhABD/xAAR/8QAEv/EABP/xAAU/8QAFf/EABj/5QAZ/+UAJv/HACj/xAAp/8QAK//EACz/xAAt/8QAMP/vAD7/2ABA/9gASP/fAE4ABgBR/8QAUv/EAFP/xABU/8QAVf/EAFb/xABX/8QAWP/EAFn/xABa/8QAW//GAFz/xgBd/8QAXv/EAGH/xABm//wAZ//8AGj//ABp//wAav/8AGv//ABt/58Abv+fAG//nwBw/58Acf+fAHL/zQBz/80AdP/NAHX/zQB2/80Ad//NAHj/zQB5/80Aev/NAHv/zQB8/80Aff/NAH7/pwB//7cAgP+3AIH/twCC/7cAg/+3AIQADQCF/5sAhv+bAIf/mwCI/5sAif+bAIr/mwCL/5sAlP/EAJX/xACW/8QAl//EAJj/xACZ/9QApv/uAKf/7gCo/+4Aqf/uAKr/7gCr/+4ArP/uAK3/7gCu/+4Ar//uALD/7gCx/+4Asv/uALP/7gC1/9AAtv/QALf/0AC4/9AAuf/QALr/0AC7/9MAvP/TAL3/0wC+/9EAv//QAMD/0ADB/9AAwv/QAMP/0ADE/9AAxf/QAMb/0ADH/9AAyP/QAMn/0ADL/9YAzP/kAOQACADlAAgA5gAIAOcACADw/+EA9wAIAPr/0AD7/9AA/P/QAP3/0AD+/9AA///QAQD/0AEB/9ABAv/QAQP/0AEE/94BBf/eAQb/0AEH/9ABCv/TAQ//5AEQ/+QBEf/kARL/5AET/+QBFP/kARX/7gEW/+QBF//UARj/1AEZ/9QBGv/UARv/1AEc/98BHf/fAR7/3wEf/98BIP/fASH/3wEi/98BI//fAST/3wEl/98BJv/fASf/3wEo/8UBKf/LASr/ywEr/8sBLP/LAS3/ywEuAAYBL//1ATD/9QEx//UBMv/1ATP/9QE0//UBNf/1AT3/0wE+/9MBP//TAUD/0wFB/9MBQv/TAUP/0wFE/9MBRf/TAUb/0wFH/9MBSP/TAU7/7gFP/+4BUP/uAVH/7gFS/+4BU//WAVT/5AFV/+QBVv/kAVf/5ABHAAH/0QAC/9EAA//RAAT/0QAF/9EABv/RAAf/0QAI/9EACf/RAAr/0QAL/9EADP/RAA3/xgAO/8YAPv/TAED/0wBt/6gAbv+oAG//qABw/6gAcf+oAH7/zwB//9wAgP/cAIH/3ACC/9wAg//cAIT/xACF/64Ahv+uAIf/rgCI/64Aif+uAIr/rgCL/64AjP/WAI3/1gCO/9YAj//WAJn/6gDM/+sA6//jAOz/4wDt/+MA7v/jAO//4wEW/+sBF//qARj/6gEZ/+oBGv/qARv/6gEu/+cBNv/oATf/6AE4/+gBOf/oAUn//gFK//4BS//+AUz//gFN//4BTv/kAU//5AFQ/+QBUf/kAVL/5AFU/+sBVf/rAVb/6wFX/+sAkQAB/8EAAv/BAAP/wQAE/8EABf/BAAb/wQAH/8EACP/BAAn/wQAK/8EAC//BAAz/wQAN/7MADv+zADAAAQA+/64AQP+uAEj/8wCE//AAhf/vAIb/7wCH/+8AiP/vAIn/7wCK/+8Ai//vAIz/9gCN//YAjv/2AI//9gCZAAIApv/rAKf/6wCo/+sAqf/rAKr/6wCr/+sArP/rAK3/6wCu/+sAr//rALD/6wCx/+wAsv/rALP/6wC1/+kAtv/pALf/6QC4/+kAuf/pALr/6QC7/+UAvP/lAL3/5QC+/+MAv//pAMD/6QDB/+kAwv/pAMP/6QDE/+kAxf/pAMb/6QDH/+kAyP/pAMn/6QDL/+sAzAABAM3/6wDO/+sAz//rAND/6wDR/+sA0v/r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/9wAxf/cAMb/3ADH/9wAyP/cAMn/3ADL/+MAzP/9AOQABwD6/9wA+//cAPz/3AD9/9wA/v/cAP//3AEA/9wBAf/cAQL/3AED/9wBBP/cAQX/3AEG/9wBB//cAQr/3gEP//sBEP/7ARH/+wES//sBE//7ART/+wEV//4BFv/9ARf/3AEY/9wBGf/cARr/3AEb/9wBHP/tAR3/7QEe/+0BH//tASD/7QEh/+0BIv/tASP/7QEk/+0BJf/tASb/7QEn/+0BKP/LASn/1AEq/9QBK//UASz/1AEt/9QBLgACAS//1QEw/9UBMf/VATL/1QEz/9UBNP/VATX/1QE9/94BPv/eAT//3gFA/94BQf/eAUL/3gFD/94BRP/eAUX/3gFG/94BR//eAUj/3gFO//wBT//8AVD//AFR//wBUv/8AVT//QFV//0BVv/9AVf//QAEADD/9gBu/7oAfv/VAIT/wwEgAAH//gAC//4AA//+AAT//gAF//4ABv/+AAf//gAI//4ACf/+AAr//gAL//4ADP/+AA///gAQ/90AEf/dABL/3QAT/90AFP/dABX/3QAW//4AF//+ABj/7gAZ/+4AGv/+ABv//gAc//4AHf/+AB7//gAf//4AIP/+ACH//gAi//4AI//+ACT//gAm/+IAJ//+ACj/3QAp/90AK//dACz/3QAt/90AL//+ADD/9AAx//4AMv/+ADP//gA0//4ANf/+ADYAGAA3AAYAOP/+ADn//gA6//4AO//+ADz//gA9ABUAPv/hAED/4QBB//4AQv/+AEP//gBE//4ARf/+AEb//gBH//4ASP/lAEn//gBK//4AS//+AEz//gBN//4ATgAIAE///gBQ//4AUf/dAFL/3QBT/90AVP/dAFX/3QBW/90AV//dAFj/3QBZ/90AWv/dAFv/3QBc/90AXf/dAF7/3QBf//4AYP/+AGH/3QBi//4AY//+AGT//gBl//4AZv/rAGf/6wBo/+sAaf/rAGr/6wBr/+sAbP/uAHL/8ABz//AAdP/wAHX/8AB2//AAd//wAHj/8AB5//AAev/wAHv/8AB8//AAff/wAIX//gCG//4Ah//+AIj//gCJ//4Aiv/+AIv//gCU/90Alf/dAJb/3QCX/90AmP/dAJn/5wCa//4Am//+AJz//gCd//4Anv/+AJ///gCg//4Aof/+AKL//gCj//4ApP/+AKb/4wCn/+MAqP/jAKn/4wCq/+MAq//jAKz/4wCt/+MArv/jAK//4wCw/+MAsf/jALL/4wCz/+MAtf/bALb/2wC3/9sAuP/bALn/2wC6/9sAu//bALz/2wC9/9sAvv/bAL//2wDA/9sAwf/bAML/2wDD/9sAxP/bAMX/2wDG/9sAx//bAMj/2wDJ/9sAy//dAMz/6ADN//EAzv/xAM//8QDQ//EA0f/xANL/8QDT//EA1gAlANj/6QDZ/+0A2gANANwACQDfACkA4AADAOIAHgDkAAkA5QAJAOYACQDnAAkA6v/pAPD/5ADx/+kA8v/pAPP/6QD1/+kA9v/pAPf/9QD4/+kA+f/pAPr/2wD7/9sA/P/bAP3/2wD+/9sA///bAQD/2wEB/9sBAv/bAQP/2wEE/9sBBf/bAQb/2wEH/9sBCP/pAQr/2wEL/+kBDP/pAQ3/6QEO/+oBD//jARD/4wER/+MBEv/jARP/4wEU/+MBFf/iARb/6AEX/+cBGP/nARn/5wEa/+cBG//nARz/4gEd/+IBHv/iAR//4gEg/+IBIf/iASL/4gEj/+IBJP/iASX/4gEm/+IBJ//iASj/3AEp/9wBKv/cASv/3AEs/9wBLf/cAS//4wEw/+MBMf/jATL/4wEz/+MBNP/jATX/4wE2//4BN//+ATj//gE5//4BPf/bAT7/2wE//9sBQP/bAUH/2wFC/9sBQ//bAUT/2wFF/9sBRv/bAUf/2wFI/9sBTv/+AU///gFQ//4BUf/+AVL//gFT/+IBVP/oAVX/6AFW/+gBV//oAMIADQACAA4AAgAQ/+MAEf/jABL/4wAT/+MAFP/jABX/4wAY//0AGf/9ACb/5wAo/+MAKf/jACv/4wAs/+MALf/jADYAEwA3AAQAPQAKAD7/5QBA/+UASP/uAE4ABgBR/+MAUv/jAFP/4wBU/+MAVf/jAFb/4wBX/+MAWP/jAFn/4wBa/+MAW//jAFz/4wBd/+MAXv/jAGH/4wBm//IAZ//yAGj/8gBp//IAav/yAGv/8gBs//YAhAABAIX//gCG//4Ah//+AIj//gCJ//4Aiv/+AIv//gCU/+MAlf/jAJb/4wCX/+MAmP/jAJn/8gCm//AAp//wAKj/8ACp//AAqv/wAKv/8ACs//AArf/wAK7/8ACv//AAsP/wALH/8ACy//AAs//wALX/4wC2/+MAt//jALj/4wC5/+MAuv/jALv/4wC8/+MAvf/jAL7/4wC//+MAwP/jAMH/4wDC/+MAw//jAMT/4wDF/+MAxv/jAMf/4wDI/+MAyf/jAMv/5gDM//IA1QACANYAIADY//MA2gAdANsABQDcABwA3wAuAOAAFADiADAA5AAHAOUABwDmAAcA5wAHAOr/8wDw/+8A8f/zAPL/8wDz//MA9f/zAPb/8wD3//oA+P/zAPn/8wD6/+MA+//jAPz/4wD9/+MA/v/jAP//4wEA/+MBAf/jAQL/4wED/+MBBP/jAQX/4wEG/+MBB//jAQj/8wEK/+MBC//zAQz/8wEN//MBDv/zAQ//7wEQ/+8BEf/vARL/7wET/+8BFP/vARX/7QEW//IBF//yARj/6wEZ//IBGv/yARv/8gEc/+oBHf/qAR7/6gEf/+oBIP/qASH/6gEi/+oBI//qAST/6gEl/+oBJv/qASf/6gEo/+EBKf/jASr/4wEr/+MBLP/jAS3/4wEv/+cBMP/nATH/5wEy/+cBM//nATT/5wE1/+cBPf/jAT7/4wE//+MBQP/jAUH/4wFC/+MBQ//jAUT/4wFF/+MBRv/jAUf/4wFI/+MBU//sAVT/8gFV//IBVv/yAVf/8gC7AA0AAwAOAAMAEP/fABH/3wAS/98AE//fABT/3wAV/98AGP/9ABn//QAm/+MAKP/fACn/3wAr/98ALP/fAC3/3wA2ABkANwAEAD0AFgA+/94AQP/eAEj/7QBOAAYAUf/fAFL/3wBT/98AVP/fAFX/3wBW/98AV//fAFj/3wBZ/98AWv/fAFv/3wBc/98AXf/fAF7/3gBh/98AZv/uAGf/7gBo/+4Aaf/uAGr/7gBr/+4AbP/0AIQAAQCU/98Alf/fAJb/3wCX/98AmP/fAJn/8gCm//IAp//yAKj/8gCp//IAqv/yAKv/8gCs//IArf/yAK7/8gCv//IAsP/yALH/8gCy//IAs//yALX/4wC2/+MAt//jALj/4wC5/+MAuv/jALv/4wC8/+MAvf/jAL7/4wC//+MAwP/jAMH/4wDC/+MAw//jAMT/4wDF/+MAxv/jAMf/4wDI/+MAyf/jAMv/5gDM//IA1QADANYAJgDY//UA2gAiANsABQDcACIA3wA0AOAAGQDiADUA5AAHAOUABwDmAAcA5wAHAOr/9QDw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EjASMAACACIAkwCTAAAApQClAAEBWwFcAAIBYQFqAAQBkQGRAA4BkwGTAA8BlQGVABABmAGYABEBmgGbABIBnQGlABQBrQGtAB0BrwG3AB4BuQHCACcBxAHIADEBygHNADYBzwHPADoB0QHTADsB1QHVAD4B2AHmAD8B6QHuAE4B8QIAAFQCAwIEAGQCBwIJAGYCCwINAGkCEAIQAGwCEgISAG0CFQIVAG4CFwIYAG8CGgIiAHECJAIkAHoCJgIrAHsCLQIuAIECgAKAAIMCgwKFAIQAEwFh//MBYv/yAWX/6wFm//oBZ//1AWj/8gFp//kBav/6Aa4AAgHL//EBzf/SAc//8AHS/+EB4v/+AgP//gII/+0CCv/yAhD/7gIn/+wAEQFo/+wBxP/eAcX/3gHI/94B0f/gAdL/4AHc/9QB4v/hAeT/6gHm/+UB6v/gAez/5wHu/+MB8f/eAfL/3gIK//0CJv/+AAUBZf/7Aff/9QH5//UB/f/1Af//9QAQAWX/4QHN//AB0v/wAdj/6AHZ/+gB2v/oAdv/6AHi//4B9//vAfn/7wH9/+8B///vAhf/8AIc//UCJv/+Ai7//gARAVv//wFc//8BaP/3Ac3/8gHR//EB0v/kAdz/5QHd/+4B3v/uAd//7gHg/+4B4v/pAeT/8AHm/+wB6v/pAez/7gHu/+sALQFb//MBXP/zAWL/7QFj//MBaP/tAcT/3QHF/90ByP/dAcv/5gHN/+YBz//nAdH/8QHS/9kB3P/oAd3/4wHe/+MB3//jAeD/4wHi/+cB5P/wAeb/7AHq/+cB7P/vAe7/6wHx/90B8v/dAfP/5gH0/+YB9f/mAfb/5gH7/+YB/P/mAgr/6wIL/+ICDP/mAg3/5gIg/+8CIv/2AiT/9gIm//4CKP/nAir/6QI///0CQP/9AkH//QAKAVv//wFc//8BYv/0AWP//AHL/+8B0f/xAdL//gHc//sB4v/9Aer//QAPAWj/+wHE//ABxf/wAcj/8AHR/+oB0v/tAdz/4wHi/+wB5P/yAeb/7gHq/+oB7P/vAe7/7QHx//AB8v/wADkBW//kAVz/5AFh/+wBY//6AWT/+wFl/6IBZv/3AWf/4wFp//YBav/6AcT/mwHF/5sByP+bAcsAAQHN/7UB0P/UAdH/mgHY/60B2f+tAdr/rQHb/60B3P+pAd3/uwHe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/9kB2//ZAeH/8QHj/+4B9//VAfj/8AH5/9UB+v/wAf3/1QH+//AB///VAgD/8AIE/+sCB//oAgj/6wIJ/+gAFgGSAAYBmAALAZ4AAQGfAAEBxP/hAcX/4QHI/+EB4v/lAeT/7gHm/+4B8f/hAfL/4QHz/+8B9P/tAfX/7wH2/+0B+P/xAfr/8QH7/+8B/P/vAf7/8QIA//EAIwFb//IBXP/yAWH/5QFi//MBZP/wAWX/1wFm//IBZ//iAWn/7AFq/+4BnAABAaIACwG4AAwBvgAKAcH/8gHC//IBz//wAdj/1QHZ/9UB2v/VAdv/1QHh/+4B4//uAff/1QH4//AB+f/VAfr/8AH9/9UB/v/wAf//1QIA//ACBP/mAgf/4wII/+gCCf/jAAQB9//wAfn/8AH9//AB///wACsAk//+AKX//gFh/+ABYv/tAWT/7gFl/9gBZv/tAWf/3wFp/+kBav/qAbAAAgGxAAIBsgABAbUAAQG2AAEBvgAGAc//6AHT//0B1f/lAd3/zgHe/84B3//OAeD/zgHp/+oB6//nAfP//QH1//0B9//OAfj/5AH5/84B+v/kAf3/zgH+/+QB///OAgD/5AIE/+YCB//gAgj/4gIJ/+ACgP/+AoP//gKE//4Chf/+AAoBkgABAZgAAQHE/+gBxf/oAcj/6AHq/+oB7P/xAe7/7wHx/+gB8v/oAB0BYf/nAWL/7QFk//IBZf/dAWb/8wFn/+cBaf/uAWr/8AGiAAQBz//rAdX/6wHd/9UB3v/VAd//1QHg/9UB6f/xAev/7gH3/9QB+P/vAfn/1AH6/+8B/f/UAf7/7wH//9QCAP/vAgT/6wIH/+YCCP/mAgn/5gAUAZIAAQGYAAYBxP/fAcX/3wHI/98B6v/nAez/7gHu/+4B8f/fAfL/3wHz//AB9P/wAfX/8AH2//AB+P/2Afr/9gH7//EB/P/xAf7/9gIA//YAIQFh/+QBYv/rAWT/7wFl/9cBZv/xAWf/4gFp/+wBav/tAaIADAG4AAcBvgAIAcH/8gHC//IBz//mAdX/5gHd/9EB3v/RAd//0QHg/9EB6f/vAev/7gH3/9YB+P/xAfn/1gH6//EB/f/WAf7/8QH//9YCAP/xAgT/6AIH/+ICCP/iAgn/4gAEAff/8QH5//EB/f/xAf//8QAUAWH/3wFi/8MBZf/cAWf/4wFo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AAAADgAAABQAAQABAAAAAQAAAAAABAAKABAAFgAcAAEAFQJIAAEAAP89AAH/+f8NAAEAIf8+AAYAEAABAAoAAgABAAwADAABACgAmAACAAQCTwJTAAACVQJbAAUCYAJkAAwCZgJrABEAFwAAAF4AAABkAAAAZAAAAGQAAABkAAAAXgAAAF4AAABkAAAAZAAAAGQAAABkAAAAZAAAAGoAAABqAAAAagAAAGoAAABqAAAAagAAAGoAAABqAAAAagAAAGoAAABqAAEAAQIHAAEAAAIHAAEAAALRABcAMAA2ADwAQgBIAE4AVABaAGAAZgBsAHIAeAB+AIQAigCQAJYAnACiAKgArgC0AAEAAQLSAAEAAALYAAH/zQLSAAEAQwLSAAEADALZAAEAAQLZAAEAAQLfAAEAAALMAAH//wK7AAEAAALBAAEAAALVAAEAKQMbAAEAAAObAAEAAAORAAH/ygOcAAEANgOcAAEAAAOPAAEAAAOjAAEAAAOXAAEAAAOOAAEAEQN7AAEAAAOWAAEAAANtAAAAAQAAAAoBtgMqAAJERkxUAA5sYXRuAEIABAAAAAD//wAVAAAAAQACAAMABQAGAAcACAAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaAEAACkFaRSABOENBVCAAcENSVCABOEtBWiABOE1BSCAAok1PTCABBk5MRCAA1FJPTSABBlRBVCABOFRSSyABOAAA//8AFQAAAAEAAgAEAAUABgAHAAgADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAA//8AFgAAAAEAAgADAAUABgAHAAgACgAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaAAD//wAWAAAAAQACAAMABQAGAAcACAALAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAAP//ABYAAAABAAIAAwAFAAYABwAIAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAA//8AFgAAAAEAAgADAAUABgAHAAgADAAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaAAD//wAWAAAAAQACAAMABQAGAAcACAAJAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAG2FhbHQApGNhbHQArGNhc2UAtmNjbXAAvGNjbXAAyGRsaWcA1mRub20A3GZyYWMA4mxpZ2EA7GxvY2wA8mxvY2wA+GxvY2wA/mxvY2wBBGxvY2wBCm51bXIBEG9yZG4BFnBudW0BHnNpbmYBJHNzMDEBKnNzMDIBNHNzMDMBPnNzMDQBSHNzMDUBUnN1YnMBXHN1cHMBYnRudW0BaHplcm8BbgAAAAIAAAABAAAAAwAoACoALAAAAAEAHwAAAAQAAgAEAAYACAAAAAUAAgAEAAYACAAIAAAAAQAgAAAAAQAVAAAAAwAWABcAGAAAAAEAIQAAAAEACQAAAAEADAAAAAEACwAAAAEACgAAAAEADwAAAAEAFAAAAAIAGgAcAAAAAQAdAAAAAQASAAYAAQAjAAABAAAGAAEAJAAAAQEABgABACUAAAECAAYAAQAmAAABAwAGAAEAJwAAAQQAAAABABEAAAABABMAAAABAB4AAAABACIALQBcAh4C7gM0A0wDsgN6A7IDygPwBAQEJgRIBIoEqgTKBQAFGgUaBT4FmgViBYYFmgW+BgIGNgZ+BqAGwgb2ByQHqgfoCBAIJAg8CGIIegigCNgJGAksDCAMNAABAAAAAQAIAAIA5ABvAV0AlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAD8AkQCSAV4AawBxAT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0A3QDmAU4BTwFQAVIBUwE8AV4BFABsARsCKQFhAWIBYwFkAWUBZgFnAWgBaQFqAY4BawGRAZIBkwGUAZUBlgGXAZgBmQGaAdMB1AHVAdYB1wGlAd0B3gHfAeAB6QHqAesB7AHtAe4B7wHwAf0B/gH/AgACFQJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawKEAAIAIwABAAEAAAAoACkAAQArAC0AAwAyAD4ABgBGAEYAEwBNAE0AFABRAFEAFQBpAGkAFgBwAHAAFwCnALEAGADNAM4AIwDQANIAJQDXANcAKADkAOQAKQDrAO0AKgDvAPAALQD2APYALwD6APoAMAESARIAMQEVARUAMgEaARoAMwEuAS4ANAGAAYkANQGPAZAAPwGbAaQAQQHGAcYASwHKAcoATAHMAc4ATQHRAdEAUAHYAdsAUQHhAegAVQH3AfoAXQIDAgMAYQJPAloAYgKAAoAAbgADAAAAAQAIAAEAsgANACAAJgAsADoARgBSAF4AagB2AIIAjgCaAKYAAgFdAT0AAgE7AVEABgGtAbcBmwGRAYABawAFAa4BuAGcAZIBgQAFAa8BuQGdAZMBggAFAbABugGeAZQBgwAFAbEBuwGfAZUBhAAFAbIBvAGgAZYBhQAFAbMBvQGhAZcBhgAFAbQBvgGiAZgBhwAFAbUBvwGjAZkBiAAFAbYBwAGkAZoBiQAFAYoBiwGPAY4BkAACAAMApgCmAAAA7gDuAAEBYQFrAAIABgAQAAIADAAeAAAAAwAAAAEBBAABACoAAQAAAAMAAwAAAAEAEgABABgAAQAAAAMAAQABAOQAAgACAk8CUwAAAlUCWwAFAAEAEAABAAoAAAABAAYAAQABAAIA1wDkAAYAAAACAAoAHAADAAEAagABAGoAAAABAAAABQADAAEFoAABAFgAAAABAAAABQAGAAAAAgAKABwAAwAAAAEAPAABACQAAQAAAAcAAwABABIAAQAqAAAAAQAAAAcAAgABAmACawAAAAEAAAABAAgAAQAGABEAAgABAk8CWgAAAAIAAAABAAgAAQAKAAIAEgAYAAEAAgFYAVkAAgDMANcAAgDMAOsAAQAAAAEACAABAAYABgABAAEA1wABAAAAAQAIAAIADgAEAGsAcQEUARsAAQAEAGkAcAESARoAAQAAAAEACAACAA4ABACRAJIBOwE8AAEABABGAE0A7gD2AAYAAAABAAgAAQAKAAIAEgAmAAEAAgBDAOsAAQAEAAAAAgHNAAEAQwABAAAADgABAAQAAAACAc0AAQDrAAEAAAANAAQAAAABAAgAAQASAAEACAABAAQA7wACAc0AAQABAOsABAAAAAEACAABABIAAQAIAAEABABHAAIBzQABAAEAQwAGAAAAAQAIAAEAQAACAAoAHAABAAQAAQA0AAEAAAABAAAAEAABAAQAAQDZAAEAAAABAAAAEAABAAAAAQAIAAIACgACAD8A5gABAAIAPgDkAAEAAAABAAgAAgH4AAsBrQGuAa8BsAGxAbIBswG0AbUBtgGKAAEAAAABAAgAAgHUAAsBtwG4AbkBugG7AbwBvQG+Ab8BwAGLAAEAAAABAAgAAgGwAAsBkQGSAZMBlAGVAZYBlwGYAZkBmgGOAAEAAAABAAgAAQAG/9QAAQABAdEAAQAAAAEACAACAXgACwGbAZwBnQGeAZ8BoAGhAaIBowGkAY8ABgAAAAIACgAiAAMAAQASAAEAXgAAAAEAAAAZAAEAAQGlAAMAAQASAAEARgAAAAEAAAAZAAIAAgGOAY4AAAGRAZoAAQABAAAAAQAIAAIAHAALAY4BkQGSAZMBlAGVAZYBlwGYAZkBmgACAAIBjwGPAAABmwGkAAEABgAAAAIACgAkAAMAAQAsAAEAEgAAAAEAAAAbAAEAAgABAKYAAwABABIAAQAcAAAAAQAAABsAAgABAWEBagAAAAEAAgBRAPoAAQAAAAEACAACAA4ABAFdAV4BXQFeAAEABAABAFEApgD6AAQAAAABAAgAAQAUAAEACAABAAQCFAADAPoBxAABAAEASgABAAAAAQAIAAIAHAALAWEBYgFjAWQBZQFmAWcBaAFpAWoBawACAAIBgAGJAAABkAGQAAoAAQAAAAEACAACABwACwGAAYEBggGDAYQBhQGGAYcBiAGJAZAAAgABAWEBawAAAAEAAAABAAgAAgBKACIB0wHUAdUB1gHXAd0B3gHfAeAB6QHqAesB7AHtAe4B7wHwAf0B/gH/AgACFQJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawACAAgBxgHGAAABygHKAAEBzAHOAAIB2AHbAAUB4QHoAAkB9wH6ABECAwIDABUCTwJaABYABAAIAAEACAABAFgAAQAIAAUADAAUABwAIgAoAVUAAwDMANcBVgADAMwA6wFUAAIAzAFXAAIA1wFaAAIA6wAEAAgAAQAIAAEAGgABAAgAAgAGAAwBWAACANcBWQACAOsAAQABAMwAAQAAAAEACAABAAYACgABAAEBYQABAAAAAQAIAAEABgCXAAIAAQCmALEAAAABAAAAAQAIAAIAEAAFAUkBSgFLAUwBTQABAAUAzQDOANAA0QDSAAEAAAABAAgAAQAGAGMAAgABAOsA8AAAAAEAAAABAAgAAgAQAAUAlACVAJYAlwCYAAEABQAoACkAKwAsAC0AAQAAAAEACAACACAADQCZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAKEAAIAAgAyAD0AAAKAAoAADAAGAAAAAgAKAB4AAwACACYAJgABAEQAAAABAAAAKQADAAAAAQAwAAEAEgABAAAAKQACAAIAAQClAAABXwFfAKUAAQAAAAEACAABAAb/VwABAAEBFQAGAAAAAQAIAAIC+gAQADgAQAACAGgAagACAAYBYQFqAAEBgAGJAAEBwQHBAAUB4gHiAAQB5AHkAAIB5gHmAAMAAQEuAAEAAQACAAYBYQFqAAEBgAGJAAEBwQHBAAUB4QHhAAQB4wHjAAIB5QHlAAMAAAAgAEIAUgBmAHYAigCaAK4AvgDSAOIA9gEGARoBKgE+AU4BYgFyAYYBlgGqAboBzgHeAfICAgIWAiYCOgJKAl4CbgABAAEAAQABAAEAAQAAACsAAgAFAAEAAQACAAUAAQABAAAAKwABAAEAAQABAAQAAQAAACsAAgAFAAEAAQACAAUABAABAAAAKwABAAQAAQABAAEAAQAAACsAAgAFAAQAAQACAAUAAQABAAAAKwABAAEAAQABAAMAAQAAACsAAgAFAAEAAQACAAUAAwABAAAAKwABAAMAAQABAAEAAQAAACsAAgAFAAMAAQACAAUAAQABAAAAKwABAAEAAQABAAIAAQAAACsAAgAFAAEAAQACAAUAAgABAAAAKwABAAIAAQABAAEAAQAAACsAAgAFAAIAAQACAAUAAQABAAAAKwABAAQAAQABAAQAAQAAACsAAgAFAAQAAQACAAUABAABAAAAKwABAAQAAQABAAMAAQAAACsAAgAFAAQAAQACAAUAAwABAAAAKwABAAQAAQABAAIAAQAAACsAAgAFAAQAAQACAAUAAgABAAAAKwABAAMAAQABAAMAAQAAACsAAgAFAAMAAQACAAUAAwABAAAAKwABAAMAAQABAAQAAQAAACsAAgAFAAMAAQACAAUABAABAAAAKwABAAMAAQABAAIAAQAAACsAAgAFAAMAAQACAAUAAgABAAAAKwABAAIAAQABAAIAAQAAACsAAgAFAAIAAQACAAUAAgABAAAAKwABAAIAAQABAAQAAQAAACsAAgAFAAIAAQACAAUABAABAAAAKwABAAIAAQABAAMAAQAAACsAAgAFAAIAAQACAAUAAwABAAAAKwABAAAAAQAIAAEABgD7AAEAAQEuAAQAAAABAAgAAQDOAAUAEAAeAB4AKACiAAIABgASAkYAAwHYAi0AAQAEAkYAAgItAAwAGgAiACoAMgA6AEIASgBSAFoAYgBqAHIBdwADAWIB4gF4AAMBYwHiAXkAAwFkAeIBegADAWUB4gF7AAMBZgHiAXwAAwFnAeIBfQADAWgB4gF+AAMBaQHiAX8AAwFqAeICBwADABAB4gIIAAMAYgHiAgkAAwBfAeIABQAMABQAGgAgACYCSgADAdgB2AJKAAIB2AJKAAIB2gJKAAIB2wJKAAICLgABAAUB2AHaAdsB4QIuAAA=") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Saans";
  src: url("data:font/ttf;base64,AAEAAAARAQAABAAQR0RFRjfJNyYAARHsAAAA7kdQT1PkiquZAAES3AAA6IRHU1VCMcXtfAAB+2AAABBCT1MvMuAuaDEAAAGYAAAAYGNtYXBZOlh9AAAMEAAABgZjdnQgCzcanQAAIPAAAAB6ZnBnbWIvAX4AABIYAAAODGdhc3AAAAAQAAER5AAAAAhnbHlmW0yVSgAAJnwAANEoaGVhZCb5AZcAAAEcAAAANmhoZWEG1gjlAAABVAAAACRobXR4STg9ZgAAAfgAAAoYbG9jYWxnOLAAACFsAAAFDm1heHAD+w8bAAABeAAAACBuYW1lW9aoFQAA96QAAAN2cG9zdJTlW0kAAPscAAAWxnByZXB5nV20AAAgJAAAAMsAAQAAAAQAAOnzylpfDzz1AAcD6AAAAADhnjSeAAAAAOL3iKf+k/8qBLIERQAAAAYAAgAAAAAAAAABAAADjv8fAAAEwv6T/pYEsgPoAAAAAAAAAAAAAAAAAAAChgABAAAChgBjAAcAUAAFAAIAKgBXAI0AAACuDgwAAwADAAQCNwKeAAUACAKKAlgAAABLAooCWAAAAV4AMgE3AAACCwcEAwEDAgIDoQAA/1ABpHsAAAAAAAAAAERQICAAwAAN+wID1v89AAAETwDhIAABkwAAAAACBwLRAAAAIAADBB8AHAK3AAECtwABArcAAQK3AAECtwABArcAAQK3AAECtwABArcAAQK3AAECtwABArcAAQPB/+cDwf/nAncAQQLgACAC4AAgAuAAIALgACAC4AAgAuAAIAK7AEECuwBBAtoAGgLaABoCRQBBAkUAQQJFAEECRQBBAkUAQQJFAEECRQBBAkUAQQJFAEECRQBBAkUAQQJFAEEC8gAgAjQAQQL9ACAC/QAgAv0AIAL9ACAC/QAgAv0AIAL9ACAC0ABBAwYAGALQAEEBCABBA04AQQEIAEEBCP/qAQj/yQEI/9kBCAA8AQgAPwEI/9cBCP/rAQgAPAEI/8QCRwAMAkcADAJHAAwClwBBApcAQQIlAEECJQBBAiUAQQIlAEECJQBBAlMACwOtAEEC0QBBAtEAQQLRAEEC0QBBAtH/4QLRAEEC0QBBAxYAHwMWAB8DFgAfAxYAHwMWAB8DFgAfAxYAHwMWAB8DFgAfAxYAHwMWAB8DFgAfAxYAHwP2ACACbwBBAmkAQQMWAB8CkQBBApEAQQKRAEECkQBBAlwAFQJcABUCXAAVAlwAFQJcABUCXAAVAn0AOwJVAAwCWQAOAlUADAJVAAwCVQAMArIAOwKyADsCsgA7ArIAOwKyADsCsgA7ArIAOwKyADsCsgA7ArIAOwKyADsCsgA7AqgAAgPxAAcD8QAHA/EABwPxAAcD8QAHAlX/9AKHAAgChwAIAocACAKHAAgChwAIAocACAKHAAgCWQAVAlkAFQJZABUCWQAVAMcAIwIlAEEC0QBBA04AtQMCACADAgAgAwIAIAMCACADAgAgAaMAQQPXAEEBowBBAaMAOAGjABcBowAnAaMAQQGjAEEBowAlAaMAOQGjAEEBowASA04AtQIdABwCHQAcAh0AHAIdABwCHQAcAh0AHAIdABwCHQAcAh0AHAIdABwCHQAcAh0AHAN8ABwDfAAcAl0ANwInABwCJwAcAicAHAInABwCJwAcAicAHAJeAB0CXgAdAl4AHQJOABwCMgAcAjIAHAIyABwCMgAcAjIAHAIyABwCMgAcAjIAHAIyABwCMgAcAjIAHAIyABwCMgAdAWMADwJUAB0CVAAdAlQAHQJUAB0CVAAdAlQAHQJUAB0CSgA3Akr/6wJK/8oA6wAyAOsANwDrADcA6//iAOv/ygDr/9YA6wAyAOsAMQDr/9IA6//lAOsAKgDr/74B1wAyAOv/1wDr/9cA6//XAOv/yQIeADcCHgA3AiIANwDrADcA6wA3AOsANwDrAAgBiwA3AVYAFAODADcCSQA3AkkANwKNAAMCSQA3AkkANwJJ/9cCSQA3AkkANwJJABsCSQAbAkkAGwJJABsCSQAbAkkAGwJJABsCSQAbAkkAGwJJABsCTQAdAk0AHQJJABsDxgAbAl4ANwJeADcCXQAdAX8ANwF/ADcBfwAxAX8ABAHpABQB3AAUAdwAFAHcABQB3AAUAdwAFAJ1ABoBLwAOAWwACAF1ABABbAAIAWwACAFsAAgCSQAyAkkAMgJJADICSQAyAkkAMgJJADICSQAyAkkAMgJJADICSQAyAkkAMgJJADIB+gAEAwgABgMIAAYDCAAGAwgABgMIAAYB4v/8Ag8ACQIPAAkCDwAJAg8ACQIPAAkCDwAJAg8ACQHqABMB6gATAeoAEwHqABMAxwAjAOsACAJJADcCXgAdAl4AHQJeAB0CXgAdAl4AHQJeAB0CXgAdAl4AHQJeAB0CXgAdAl4AHQJeAB0CNAAVAjQAFQI0ABUCNAAVAjQAFQERADQBEQA0AREANAERAC0BlAA0AWAADAKXAA8DgwAPA4MADwJPAA4CTwAPAk8ADwJPAA8DrAAPAngADgFmACABaQAaAwMALAJtAAoCkQAnAXQADwJJACICVQAeAoYAGwJOAB0CbwAmAiYADwJgACQCbwAoApEAJwM9AC0DPQAtAz0ALQM9AC0DPQAtAz0ALQM9AC0DPQAtAz0ALQM9AC0DPQAtAz0ALQM9AC0DPQAtAz0ALQM9AC0DPQAtAz0ALQM9AC0DPQAtAooAIwKKAFMCigBDAooAOQKKAB4CigA7AooANAKKADsCigA5AooANgGGABkBhgAZAz0ALQM9AC0BhgAZAYYAGQKKACMBhgAZAOMADAFdABcBYQATAX4AEQFeABQBcQAZAUcACwFpABgBcQAaAYYAGQDjAAwBXQAXAWEAEwF+ABEBXgAUAXEAGQFHAAsBaQAYAXEAGgDv/1ADGAAMAxIADAN/ABMDIwAMA5AAEwONABQDRQALAYYAGQDjAAwBXQAXAWEAEwF+ABEBXgAUAXEAGQFHAAsBaQAYAXEAGgGGABkA4wAMAV0AFwFhABMBfgARAV4AFAFxABkBRwALAWkAGAFxABoAygAAAMoAAADKAAAA5gAtAOgALgDuADEA8wA0ArEALQD/ADQA9AAvAgUADQIBABQA6wAvAhgAOQH7ACMCyQAgAdwACwHcAAsA+AA2AQQANwIFABcA6wAvAhgAOQGZACgBoAAsAiUAKAQoACgCHAAkAaIALQGiAC0CLgAtBDEALQEhACABIQASAUIAGQFCAB8BLAA/ASwAGgE2AEEBNgAgASkAIwEpABcBSwAdAUsAJAEzAEEBMwAfATYAQQE2ACAA6AAuAaIALgGVACYBjQAoANoAJgDSACgCfAAnApAAMgF4ACcBeAAyAXwAIwDHACMCfAAnApAAMgF4ACcBeAAyAeUAEwJ6AEIDmgAcAqkAHgLRAA8CRgAZAz0ALQJLADUDPQAtAxoAEwF7AC0AxwAjAXwAIwD8AEEA/ABBAbMAIgILABIBugAlA2AALgSFAEEDngAgAnoAQgJJACwCmQAgAmIAGwI8ACkDCwAvAlcAHALdAC8CkAAuA3sALwMiACICuAAnAncAJwMqAEECfQAp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TgEAHh0bGRMRDw4LCQAhASEHCBYrBSIuAjU0PgIzMhYWFyMmJiMiBgYVFBYWMzI2NzMOAgGGR4FkOjplgUZWilgKjgtkRj5kOjpkPkdiDI8NW4kILl2KXFyJXS49c1NATjpwUVFwOktEV3Q6//8AIP/4AskDkAImABAAAAAHAmMBhQAA//8AIP/4AskDkAImABAAAAAHAmcBhQAA//8AIP8qAskC2QImABAAAAAHAl4BhgAA//8AIP/4AskDkAImABAAAAAHAmYBhQAA//8AIP/4AskDlAImABAAAAAHAmEBhQAAAAIAQQAAApsC0QAMABcALEApAAMDAF8AAAAhTQUBAgIBXwQBAQEiAU4ODQAAFhQNFw4XAAwACyEGCBcrMxEzMh4CFRQOAiMnMjY2NTQmJiMjEUHpS4VmOztmhUsLPnBGRnA+WALRLVqHWluHWi12L2tZWWov/hsA//8AQQAAApsDkAImABYAAAAHAmcBOAAA//8AGgAAAroC0QIGABkAAAACABoAAAK6AtEAEAAfADxAOQYBAAcIAgMEAANnAAUFAV8AAQEhTQkBBAQCXwACAiICThIRAAAeHRwbGhgRHxIfABAAECghEQoIGSsTNTMRMzIeAhUUDgIjIxEXMjY2NTQmJiMjFTMVIxUaRulKhWc7O2eFSunePm9GRm8+WYODATdnATMtWodaW4daLQE3wS9rWVlqL71nwQAAAAABAEEAAAIqAtEACwAvQCwAAgADBAIDZwABAQBfAAAAIU0ABAQFXwYBBQUiBU4AAAALAAsREREREQcIGyszESEVIRUhFSEVIRVBAd7+qAEU/uwBYwLRdaR1zXYA//8AQQAAAioDkAImABoAAAAHAmMBNgAA//8AQQAAAioDkwImABoAAAAHAmgBNgAA//8AQQAAAioDkAImABoAAAAHAmcBNgAA//8AQQAAAioDkAImABoAAAAHAmYBNgAA//8AQQAAAioDjwImABoAAAAHAmABNgAA//8AQQAAAioDlAImABoAAAAHAmEBNgAA//8AQf8xAioC0QImABoAAAAHAlwBNwAA//8AQQAAAioDkAImABoAAAAHAmIBNgAA//8AQQAAAioDgAImABoAAAAHAmsBNgAA//8AQf89AkkC0QImABoAAAAHAl8CKgAA//8AQQAAAioDmQImABoAAAAHAmoBNgAA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AC4AMAAwADAAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADQALgA3AC0ANQBkADUAYgApAFMAYQBhAG4AcwAtAFMAZQBtAGkAQgBvAGwAZABTAGEAYQBuAHMALQBTAGUAbQBpAEIAbwBsAGQARABpAHMAcABsAGEAYQB5ACAAVAB5AHAAZQAgAEYAbwB1AG4AZAByAHkAIABzAC4AcgAuAG8ALgBNAGEAcgB0AGkAbgAgAFYA4QBjAGgAYQB3AHcAdwAuAGQAaQBzAHAAbABhAGEAeQAuAG4AZQB0AHcAdwB3AC4AZABpAHMAcABsAGEAYQB5AC4AbgBlAHQAUwBhAGEAbgBzAFMAZQBtAGkAQgBvAGwAZABbAHMAcwAgADAAMQBdACAAYQBbAHMAcwAgADAAMgBdACAAZwBbAHMAcwAgADAAMwBdACAAbABbAHMAcwAgADAANABdACAARwBbAHMAcwAgADAANQBdACAASQAAAAIAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAChgAAACQAyQECAMcAYgEDAK0BBAEFAGMBBgCuAJABBwAlACYA/QD/AGQBCAEJACcBCgELAOkAKABlAQwBDQDIAMoBDgEPAMsBEAERARIBEwApACoA+AEUARUBFgEXARgAKwEZARoALAEbAMwBHADNAM4A+gEdAM8BHgEfASAALQEhASIALgEjAC8BJAElASYBJwDiADAAMQEoASkBKgErAGYBLAAyANABLQDRAGcBLgDTAS8BMAExAJEBMgCvALAAMwDtADQANQEzATQBNQA2ATYA5AD7ATcBOAE5ADcBOgE7ATwBPQA4ANQBPgDVAGgBPwDWAUABQQFCAUMBRAA5ADoBRQFGAUcBSAA7ADwA6wFJALsBSgFLAUwAPQFNAOYBTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAEQAaQFlAGsAbAFmAGoBZwFoAG4BaQBtAKABagBFAEYA/gEAAG8BawFsAEcBbQEBAOoASABwAW4BbwByAHMBcAFxAHEBcgFzAXQBdQBJAEoA+QF2AXcBeAF5AXoASwF7AXwATAF9AHQBfgB2AHcBfwGAAHUBgQGCAYMBhABNAYUBhgGHAE4BiAGJAE8BigGLAYwBjQDjAFAAUQGOAY8BkAGRAZIAeAGTAFIAeQGUAHsAfAGVAHoBlgGXAZgAoQGZAH0AsQBTAO4AVABVAZoBmwGcAFYBnQDlAPwBngGfAIkBoABXAaEBogGjAaQAWAB+AaUAgACBAaYAfwGnAagBqQGqAasAWQBaAawBrQGuAa8AWwBcAOwBsAC6AbEBsgGzAF0BtADnAbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMAwADBAdQB1QHWAJ0AngCfAJsAEwAUABUAFgAXABgAGQAaABsAHAHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQALwA9AD1APYCEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8A8QDyAPMCIAIhAiICIwIkAiUAAwImAicAEQAPAB0AHgCrAAQAowAiAKIAwwCHAA0ABgASAD8CKAIpAioCKwIsABACLQCyALMAQgIuAi8CMAIxAAsADABeAGAAPgBAAjICMwI0AjUCNgI3AjgCOQI6AjsAxADFALQAtQC2ALcCPAI9AL4AvwAFAAoCPgI/AkACQQCmAkIAIwAJAIgAhgCLAIoCQwCMAIMCRAJFAF8A6ACCAkYAwgJHAkgCSQJKAIQAvQAHAksCTAD3Ak0CTgJPAlACUQJSAlMAhQJUAJYADgDvAPAAuAAgAI8AIQAfAJUAlACTAKcAYQCkAEEAkgCcAlUCVgCaAJkApQJXAJgACADGAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQAuQJlAmYCZwJoAmkCagJrAmwCbQJuAm8CcAJxAnICcwJ0AnUCdgJ3AngCeQJ6AnsCfAJ9An4CfwKAAoECggKDAoQChQCOANwAQwCNAN8A2ADhANsA3QDZANoA3gDgAoYChwKIAokCigKLAowCjQKOBkFicmV2ZQlBZG90YmVsb3cHQW1hY3JvbgdBb2dvbmVrCkFyaW5nYWN1dGUHQUVhY3V0ZQtDY2lyY3VtZmxleApDZG90YWNjZW50BkRjYXJvbgZEY3JvYXQGRWJyZXZlBkVjYXJvbgpFZG90YWNjZW50CUVkb3RiZWxvdwdFbWFjcm9uB0VvZ29uZWsGRXRpbGRlBVNjaHdhBkdjYXJvbgtHY2lyY3VtZmxleAxHY29tbWFhY2NlbnQKR2RvdGFjY2VudAdHbWFjcm9uBEhiYXILSGNpcmN1bWZsZXgCSUoGSWJyZXZlCUlkb3RiZWxvdwdJbWFjcm9uB0lvZ29uZWsGSXRpbGRlBkphY3V0ZQtKY2lyY3VtZmxleAxLY29tbWFhY2NlbnQGTGFjdXRlBkxjYXJvbgxMY29tbWFhY2NlbnQETGRvdAZOYWN1dGUGTmNhcm9uDE5jb21tYWFjY2VudAlOaG9va2xlZnQDRW5nBk9icmV2ZQlPZG90YmVsb3cNT2h1bmdhcnVtbGF1dAdPbWFjcm9uB09vZ29uZWsLT3NsYXNoYWN1dGUGUmFjdXRlBlJjYXJvbgxSY29tbWFhY2NlbnQGU2FjdXRlC1NjaXJjdW1mbGV4DFNjb21tYWFjY2VudApHZXJtYW5kYmxzBFRiYXIGVGNhcm9uCFRjZWRpbGxhDFRjb21tYWFjY2VudAZVYnJldmUJVWRvdGJlbG93DVVodW5nYXJ1bWxhdXQHVW1hY3JvbgdVb2dvbmVrBVVyaW5nBlV0aWxkZQZXYWN1dGULV2NpcmN1bWZsZXgJV2RpZXJlc2lzBldncmF2ZQtZY2lyY3VtZmxleAZZZ3JhdmUHWW1hY3JvbgZZdGlsZGUGWmFjdXRlClpkb3RhY2NlbnQIU2FsdGlsbG8UTGNvbW1hYWNjZW50LmxvY2xNQUgUTmNvbW1hYWNjZW50LmxvY2xNQUgHSUoubW9ubwZHLnNzMDQLR2JyZXZlLnNzMDQQR2NpcmN1bWZsZXguc3MwNBFHY29tbWFhY2NlbnQuc3MwNA9HZG90YWNjZW50LnNzMDQGSS5zczA1B0lKLnNzMDULSWFjdXRlLnNzMDULSWJyZXZlLnNzMDUQSWNpcmN1bWZsZXguc3MwNQ5JZGllcmVzaXMuc3MwNQ9JZG90YWNjZW50LnNzMDUOSWRvdGJlbG93LnNzMDULSWdyYXZlLnNzMDUMSW1hY3Jvbi5zczA1DElvZ29uZWsuc3MwNQtJdGlsZGUuc3MwNQxJSi5zczA1Lm1vbm8GYWJyZXZlCWFkb3RiZWxvdwdhbWFjcm9uB2FvZ29uZWsKYXJpbmdhY3V0ZQdhZWFjdXRlC2NjaXJjdW1mbGV4CmNkb3RhY2NlbnQGZGNhcm9uBmVicmV2ZQZlY2Fyb24KZWRvdGFjY2VudAllZG90YmVsb3cHZW1hY3Jvbgdlb2dvbmVrBmV0aWxkZQVzY2h3YQZnY2Fyb24LZ2NpcmN1bWZsZXgMZ2NvbW1hYWNjZW50Cmdkb3RhY2NlbnQHZ21hY3JvbgRoYmFyC2hjaXJjdW1mbGV4CGlkb3RsZXNzBmlicmV2ZQppZG90YWNjZW50CWlkb3RiZWxvdwdpbWFjcm9uB2lvZ29uZWsGaXRpbGRlAmlqCGpkb3RsZXNzBmphY3V0ZQtqY2lyY3VtZmxleAxrY29tbWFhY2NlbnQMa2dyZWVubGFuZGljBmxhY3V0ZQZsY2Fyb24MbGNvbW1hYWNjZW50BGxkb3QGbmFjdXRlC25hcG9zdHJvcGhlBm5jYXJvbgxuY29tbWFhY2NlbnQJbmhvb2tsZWZ0A2VuZwZvYnJldmUJb2RvdGJlbG93DW9odW5nYXJ1bWxhdXQHb21hY3Jvbgdvb2dvbmVrC29zbGFzaGFjdXRlBnJhY3V0ZQZyY2Fyb24McmNvbW1hYWNjZW50BnNhY3V0ZQtzY2lyY3VtZmxleAxzY29tbWFhY2NlbnQFbG9uZ3MEdGJhcgZ0Y2Fyb24IdGNlZGlsbGEMdGNvbW1hYWNjZW50BnVicmV2ZQl1ZG90YmVsb3cNdWh1bmdhcnVtbGF1dAd1bWFjcm9uB3VvZ29uZWsFdXJpbmcGdXRpbGRlBndhY3V0ZQt3Y2lyY3VtZmxleAl3ZGllcmVzaXMGd2dyYXZlC3ljaXJjdW1mbGV4BnlncmF2ZQd5bWFjcm9uBnl0aWxkZQZ6YWN1dGUKemRvdGFjY2VudAhzYWx0aWxsbxRsY29tbWFhY2NlbnQubG9jbE1BSBRuY29tbWFhY2NlbnQubG9jbE1BSAZhLnNzMDELYWFjdXRlLnNzMDELYWJyZXZlLnNzMDEQYWNpcmN1bWZsZXguc3MwMQ5hZGllcmVzaXMuc3MwMQ5hZG90YmVsb3cuc3MwMQthZ3JhdmUuc3MwMQxhbWFjcm9uLnNzMDEMYW9nb25lay5zczAxCmFyaW5nLnNzMDEPYXJpbmdhY3V0ZS5zczAxC2F0aWxkZS5zczAxBmcuc3MwMgtnYnJldmUuc3MwMhBnY2lyY3VtZmxleC5zczAyEWdjb21tYWFjY2VudC5zczAyD2dkb3RhY2NlbnQuc3MwMgZsLnNzMDMLbGFjdXRlLnNzMDMLbGNhcm9uLnNzMDMRbGNvbW1hYWNjZW50LnNzMDMJbGRvdC5zczAzC2xzbGFzaC5zczAzCGZfZi5kbGlnCmZfZl9pLmRsaWcKZl9mX2wuZGxpZwhmX2kuZGxpZwdmbC5kbGlnD2ZfZl9sLnNzMDMuZGxpZw1mX2wuc3MwMy5kbGlnCXplcm8uemVybxF6ZXJvLmJsYWNrQ2lyY2xlZBBvbmUuYmxhY2tDaXJjbGVkEHR3by5ibGFja0NpcmNsZWQSdGhyZWUuYmxhY2tDaXJjbGVkEWZvdXIuYmxhY2tDaXJjbGVkEWZpdmUuYmxhY2tDaXJjbGVkEHNpeC5ibGFja0NpcmNsZWQSc2V2ZW4uYmxhY2tDaXJjbGVkEmVpZ2h0LmJsYWNrQ2lyY2xlZBFuaW5lLmJsYWNrQ2lyY2xlZAx6ZXJvLmNpcmNsZWQLb25lLmNpcmNsZWQLdHdvLmNpcmNsZWQNdGhyZWUuY2lyY2xlZAxmb3VyLmNpcmNsZWQMZml2ZS5jaXJjbGVkC3NpeC5jaXJjbGVkDXNldmVuLmNpcmNsZWQNZWlnaHQuY2lyY2xlZAxuaW5lLmNpcmNsZWQHemVyby50ZgZvbmUudGYGdHdvLnRmCHRocmVlLnRmB2ZvdXIudGYHZml2ZS50ZgZzaXgudGYIc2V2ZW4udGYIZWlnaHQudGYHbmluZS50ZhF6ZXJvLnplcm9pbmZlcmlvchF6ZXJvLnplcm9zdXBlcmlvchZ6ZXJvLnplcm8uYmxhY2tDaXJjbGVkEXplcm8uemVyby5jaXJjbGVkDnplcm8uemVyby5kbm9tDnplcm8uemVyby5udW1yDHplcm8uemVyby50Zgl6ZXJvLmRub20Ib25lLmRub20IdHdvLmRub20KdGhyZWUuZG5vbQlmb3VyLmRub20JZml2ZS5kbm9tCHNpeC5kbm9tCnNldmVuLmRub20KZWlnaHQuZG5vbQluaW5lLmRub20JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yCW9uZWVpZ2h0aAx0aHJlZWVpZ2h0aHMLZml2ZWVpZ2h0aHMMc2V2ZW5laWdodGhzDHplcm9pbmZlcmlvcgtvbmVpbmZlcmlvcgt0d29pbmZlcmlvcg10aHJlZWluZmVyaW9yDGZvdXJpbmZlcmlvcgxmaXZlaW5mZXJpb3ILc2l4aW5mZXJpb3INc2V2ZW5pbmZlcmlvcg1laWdodGluZmVyaW9yDG5pbmVpbmZlcmlvcgx6ZXJvc3VwZXJpb3IMZm91cnN1cGVyaW9yDGZpdmVzdXBlcmlvcgtzaXhzdXBlcmlvcg1zZXZlbnN1cGVyaW9yDWVpZ2h0c3VwZXJpb3IMbmluZXN1cGVyaW9yB25ic3BhY2UCQ1IKY29sb24uY2FzZQ9leGNsYW1kb3duLmNhc2URcXVlc3Rpb25kb3duLmNhc2UTcGVyaW9kY2VudGVyZWQuY2FzZQtidWxsZXQuY2FzZQpzb2Z0aHlwaGVuC2h5cGhlbi5jYXNlD3NvZnRoeXBoZW4uY2FzZQtlbmRhc2guY2FzZQtlbWRhc2guY2FzZRpibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdBtibGFja2xlbnRpY3VsYXJicmFja2V0cmlnaHQOcGFyZW5sZWZ0LmNhc2UPcGFyZW5yaWdodC5jYXNlDmJyYWNlbGVmdC5jYXNlD2JyYWNlcmlnaHQuY2FzZRBicmFja2V0bGVmdC5jYXNlEWJyYWNrZXRyaWdodC5jYXNlH2JsYWNrbGVudGljdWxhcmJyYWNrZXRsZWZ0LmNhc2UgYmxhY2tsZW50aWN1bGFyYnJhY2tldHJpZ2h0LmNhc2UNZ3VpbGxlbWV0bGVmdA5ndWlsbGVtZXRyaWdodBJndWlsbGVtZXRsZWZ0LmNhc2UTZ3VpbGxlbWV0cmlnaHQuY2FzZRJndWlsc2luZ2xsZWZ0LmNhc2UTZ3VpbHNpbmdscmlnaHQuY2FzZQRiYWh0CXB1Ymxpc2hlZAZtaW51dGUGc2Vjb25kCWxpdGVyU2lnbgllc3RpbWF0ZWQGbnVtZXJvB2F0LmNhc2UHYml0Y29pbgRkb25nBGV1cm8HaHJ5dm5pYQtsaXJhVHVya2lzaAVuYWlyYQRwZXNvBXJ1YmxlC3J1cGVlSW5kaWFuBnNoZXFlbAN3b24DT2htCWluY3JlbWVudAVtaWNybxBwZXJ0aG91c2FuZC5tb25vDHBlcmNlbnQucGFydA1wZXJjZW50LnBhcnQyB3VwQXJyb3cObm9ydGhFYXN0QXJyb3cKcmlnaHRBcnJvdw5zb3V0aEVhc3RBcnJvdwlkb3duQXJyb3cOc291dGhXZXN0QXJyb3cJbGVmdEFycm93Dm5vcnRoV2VzdEFycm93C2JsYWNrQ2lyY2xlC3doaXRlQ2lyY2xlDGRpZXJlc2lzY29tYg1kb3RhY2NlbnRjb21iCWdyYXZlY29tYglhY3V0ZWNvbWIQaHVuZ2FydW1sYXV0Y29tYg1jYXJvbmNvbWIuYWx0DmNpcmN1bWZsZXhjb21iCWNhcm9uY29tYglicmV2ZWNvbWIIcmluZ2NvbWIJdGlsZGVjb21iCm1hY3JvbmNvbWIUY29tbWF0dXJuZWRhYm92ZWNvbWIMZG90YmVsb3djb21iD2NvbW1hYWNjZW50Y29tYgtjZWRpbGxhY29tYgpvZ29uZWtjb21iEWRpZXJlc2lzY29tYi5jYXNlEmRvdGFjY2VudGNvbWIuY2FzZQ5ncmF2ZWNvbWIuY2FzZQ5hY3V0ZWNvbWIuY2FzZRVodW5nYXJ1bWxhdXRjb21iLmNhc2USY2Fyb25jb21iLmFsdC5jYXNlE2NpcmN1bWZsZXhjb21iLmNhc2UOY2Fyb25jb21iLmNhc2UOYnJldmVjb21iLmNhc2UNcmluZ2NvbWIuY2FzZQ50aWxkZWNvbWIuY2FzZQ9tYWNyb25jb21iLmNhc2UPc3Ryb2tlc2hvcnRjb21iDnN0cm9rZWxvbmdjb21iDnNsYXNoc2hvcnRjb21iDXNsYXNobG9uZ2NvbWIOZG91YmxlcHJpbWVtb2QIcHJpbWVtb2QHaWphY3V0ZQdJSmFjdXRlEGNvbW1hdHVybmVkYWJvdmUIZG90YmVsb3cMSUphY3V0ZS5tb25vDElKYWN1dGUuc3MwNRFJSmFjdXRlLnNzMDUubW9ubwAAAAEAAf//AA8AAQACAA4AAAAAAAAAqAACABkAAQBPAAEAUQBfAAEAYQBrAAEAbQCPAAEAkQC9AAEAvwDiAAEA5AEUAAEBFwE5AAEBOwFTAAEBWAFY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ABj/+QAZ//kAJv/vAEj/9QBe/+sAfv/4AIQABQC+/+8Ay//wANUAEgDY//0A2f/9ANoAEQDbAB4A3AAtAN8AGgDgABcA4gBHAOQAKADl//0A5v/9AOcAHgDw/+cBFf/tARj/6QEo/90BL//6ATD/+gEx//oBMv/6ATP/+gE0//oBNf/6AVP/5wFh//cBYv/+AWX/8wFn//gBrgAGAbQABAHN/+IB4gAJAgP/+wIKAAcCJ//lARUAAf+vAAL/rwAD/68ABP+vAAX/rwAG/68AB/+vAAj/rwAJ/68ACv+vAAv/rwAM/68ADf+fAA7/nwAQ/+gAEf/oABL/6AAT/+gAFP/oABX/6AAY//AAGf/wACb/6gAo/+gAKf/oACv/6AAs/+gALf/oAD7/uQBA/7kASP/rAFH/6ABS/+gAU//oAFT/6ABV/+gAVv/oAFf/6ABY/+gAWf/oAFr/6ABb/+gAXP/oAF3/6ABe/+kAYf/oAGb/7QBn/+0AaP/tAGn/7QBq/+0Aa//tAGz/7wCE//oAhf/9AIb//QCH//0AiP/9AIn//QCK//0Ai//9AIz/+QCN//kAjv/5AI//+QCU/+gAlf/oAJb/6ACX/+gAmP/oAJn/8QCm/9UAp//VAKj/1QCp/9UAqv/VAKv/1QCs/9UArf/VAK7/1QCv/9UAsP/VALH/3wCy/9UAs//VALX/1QC2/9UAt//VALj/1QC5/9UAuv/VALv/1QC8/9UAvf/VAL7/0gC//9UAwP/VAMH/1QDC/9UAw//VAMT/1QDF/9UAxv/VAMf/1QDI/9UAyf/VAMv/1wDM/+sAzf/YAM7/2ADP/9gA0P/YANH/2ADS/9gA0//YANUAHgDY/9UA2f/mANoAJwDbACkA3ABDAN8AMADgAC4A4gBdAOX/1gDm/+YA5wApAOr/1QDw/+UA8f/VAPL/1QDz/9UA9f/VAPb/1QD3/9UA+P/VAPn/1QD6/9UA+//VAPz/1QD9/9UA/v/VAP//1QEA/9UBAf/VAQL/1QED/9UBBP/VAQX/1QEG/9UBB//VAQj/1QEK/9UBC//VAQz/1QEN/9UBDv/VAQ//0QEQ/9EBEf/RARL/0QET/9EBFP/RARX/5wEW/+sBF//xARj/7QEZ//EBGv/xARv/8QEc/9kBHf/ZAR7/2QEf/9kBIP/ZASH/2QEi/9kBI//ZAST/2QEl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ABEA2wAeANwALQDfABoA4AAXAOIARwDl//0A5v/9AOcAHgDw/+cBFf/tARj/6QEo/90BU//nAWH/9wFi//4BZf/zAWf/+AGuAAYBtAAEAc3/4gID//sCCgAHAif/5QD3AAH/uAAC/7gAA/+4AAT/uAAF/7gABv+4AAf/uAAI/7gACf+4AAr/uAAL/7gADP+4AA3/rQAO/60AEP/+ABH//gAS//4AE//+ABT//gAV//4AGP/7ABn/+wAm//4AKP/+ACn//gAr//4ALP/+AC3//gA+/7oAQP+6AEj/7wBR//4AUv/+AFP//gBU//4AVf/+AFb//gBX//4AWP/+AFn//gBa//4AW//+AFz//gBd//4AXv/+AGH//gBm//oAZ//6AGj/+gBp//oAav/6AGv/+gBt//QAbv/0AG//9ABw//QAcf/0AH7/7gB///cAgP/3AIH/9wCC//cAg//3AIT/0ACF/98Ahv/fAIf/3wCI/98Aif/fAIr/3wCL/98AjP/yAI3/8gCO//IAj//yAJT//gCV//4Alv/+AJf//gCY//4AmQADAKb/8ACn//AAqP/wAKn/8ACq//AAq//wAKz/8ACt//AArv/wAK//8ACw//AAsf/wALL/8ACz//AAtf/oALb/6AC3/+gAuP/oALn/6AC6/+gAu//qALz/6gC9/+oAvv/kAL//6ADA/+gAwf/oAML/6ADD/+gAxP/oAMX/6ADG/+gAx//oAMj/6ADJ/+gAy//wAM3/7gDO/+4Az//uAND/7gDR/+4A0v/uANP/7gDVAA8A2wAzANwAJADgAA4A4gBOAOcAMwDq//4A8P/vAPH//gDy//4A8//+APX//gD2//4A9//+APj//gD5//4A+v/oAPv/6AD8/+gA/f/oAP7/6AD//+gBAP/oAQH/6AEC/+gBA//oAQT/6AEF/+gBBv/oAQf/6AEI//4BCv/qAQv//gEM//4BDf/+AQ7//gEP//EBEP/xARH/8QES//EBE//xART/8QEV//wBFwADARgAAwEZAAMBGgADARsAAwEuAAUBLwAEATAABAExAAQBMgAEATMABAE0AAQBNQAEATb/+wE3//sBOP/7ATn/+wE9/+oBPv/qAT//6gFA/+oBQf/qAUL/6gFD/+oBRP/qAUX/6gFG/+oBR//qAUj/6gFJ/98BSv/fAUv/3wFM/98BTf/f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AJX/1wCW/9cAl//XAJj/1wCm/5kAp/+ZAKj/nQCp/64Aqv+7AKv/mQCs/6IArf+hAK7/mQCv/5kAsP+ZALH/ywCy/5kAs/+ZALX/lwC2/5cAt/+eALj/lwC5/6EAuv+XALv/lwC8/5cAvf+XAL7/owC//5cAwP+XAMH/lwDC/6EAw/+jAMT/sADF/5cAxv+XAMf/mADI/5cAyf+XAMv/hgDN/5gAzv+YAM//nADQ/58A0f+YANL/mADT/5gA1QAfANj/oQDZ/9EA2gApANsALADcAEcA3wAyAOAAMQDiAGAA5f+hAOb/0gDnACwA6v+lAPD/0ADx/6UA8v+lAPP/pQD1/6UA9v+lAPf/pQD4/7UA+f+lAPr/lwD7/5cA/P+XAP3/nAD+/6kA//+XAQD/lwEB/5cBAv+XAQP/lwEE/5cBBf+XAQb/uAEH/5cBCP+lAQr/lwEL/6UBDP+lAQ3/0QEO/6UBD/+ZARD/mQER/8IBEv+ZARP/vQEU/5kBFf/GARj/yAEc/6QBHf+kAR7/pAEf/6QBIP+mASH/pAEi/6QBI/+kAST/pAEl/6QBJv+kASf/tQEo/6gBKf+qASr/qgEr/6oBLP+qAS3/qgEu/6kBL/+pATD/qQEx/6sBMv+3ATP/qQE0/6kBNf/MATb/nAE3/5wBOP+5ATn/nAE9/5cBPv+XAT//lwFA/5kBQf+mAUL/lwFD/5cBRP+XAUX/lwFG/5cBR/+XAUj/tQFJ/5MBSv+bAUv/rAFM/5MBTf+TAVP/1QFdAAUBXgAJAWH/5QFi//oBY//zAWT/9AFl/6cBZv/uAWf/3gFoAAIBaf/wAWr/8gG3AAYBuAAVAbkABwG6AAcBvQAGAb4AEQHAAAYBxv/DAcf/xgHJAAcBywAJAc3/rQHR/6gB0//mAdj/ugHZ/7oB2v+6Adv/ugHc/7wB3f+7Ad7/uwHf/7sB4P+7Aff/tAH5/7QB/f+0Af//tAID/8gCBP/eAgf/4gIJ/+ICCgAhAhAABQISAAACFf/QAif/tABkABj/5QAZ/+UAJv/hADD//gBI/9sAXv/VAGz/5AB+AAIAhP/9AKj/lwCp/6gAqv+0AKz/nACt/5sAsf/MALf/lgC5/5kAvv+jAMH/igDC/5kAw/+bAMT/qADH/5AAyP+OAMv/hgDP/5MA0P+VANP/iADVAB8A2P+hANn/0QDa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/9QALf/UAD7/5gBA/+YASP/vAFH/1ABS/9QAU//UAFT/1ABV/9QAVv/UAFf/1ABY/9QAWf/UAFr/1ABb/9QAXP/UAF3/1ABe/9MAYf/UAGb/4gBn/+IAaP/iAGn/4gBq/+IAa//iAG3/+wBu//sAb//7AHD/+wBx//sAcv/9AHP//QB0//0Adf/9AHb//QB3//0AeP/9AHn//QB6//0Ae//9AHz//QB9//0Ahf/6AIb/+gCH//oAiP/6AIn/+gCK//oAi//6AIwAAwCNAAMAjgADAI8AAwCU/9QAlf/UAJb/1ACX/9QAmP/UAJn/3ACm//IAp//yAKj/8gCp//IAqv/yAKv/8gCs//IArf/yAK7/8gCv//IAsP/yALH/8gCy//IAs//yALX/3AC2/9wAt//cALj/3AC5/9wAuv/cALv/3wC8/98Avf/fAL7/3gC//9wAwP/cAMH/3ADC/9wAw//cAMT/3ADF/9wAxv/cAMf/3ADI/9wAyf/cAMv/3wDM/+QAzf/VAM7/1QDP/9UA0P/VANH/1QDS/9UA0//VANoAGwDcACwA3wAvAOAAEwDiADQA8P/bAPr/3AD7/9wA/P/cAP3/3AD+/9wA///cAQD/3AEB/9wBAv/cAQP/3AEE/+ABBf/gAQb/3AEH/9wBCv/fAQ//7wEQ/+8BEf/vARL/7wET/+8BFP/vARX/7QEW/+QBF//cARj/2QEZ/9wBGv/cARv/3AEc/+gBHf/oAR7/6AEf/+gBIP/oASH/6AEi/+gBI//oAST/6AEl/+gBJv/oASf/6AEo/8cBKf/PASr/zwEr/88BLP/PAS3/zwEv/8YBMP/GATH/xgEy/8YBM//GATT/xgE1/8YBNgAEATcABAE4AAQBOQAEAT3/3wE+/98BP//fAUD/3wFB/98BQv/fAUP/3wFE/98BRf/fAUb/3wFH/98BSP/fAUn//gFK//4BS//+AUz//gFN//4BTv/7AU//+wFQ//sBUf/7AVL/+wFT/9QBVP/kAVX/5AFW/+QBV//kAVv/5AFc/+QBYf/nAWL/8AFk//oBZf/sAWb/+gFn/+kBaf/5AWr/+QGtAB8BsAAMAbEAIgGyABoBswAgAbUAGQG2AAMBuAAUAb4ADgHB/+0Bwv/tAcQADAHFAAwBxgAJAccACQHIAAwByQAHAcv/8wHN/8YBz//sAdEAGQHY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Aif/7wAZABn/+wB+/70AhP/pASj/7wEu/+wBXf/qAV7/4QFi/+EBaP/TAa4ABwG0AAgBy//qAc//7QHR//IB0v+/Adz/4AHi/98B5P/pAeb/6wH0/+YB9v/mAfv/5QH8/+UCCv/UAhD/5gAVABn/+wB+/70AhP/pASj/7wEu/+wBXf/qAV7/4QFi/+EBaP/TAa4ABwG0AAgBy//qAc//7QHR//IB0v+/Adz/4AHi/98B5P/pAeb/6wIK/9QCEP/mAAwAGf/5ACb//QB+//4A1QAMANoACADbABgA3AAkAN8ADwDgAAoA4gA7AOcAGAFl//0AWwAZ//kAJv/9AH7//gCZAB4AtABVAMwADwDUAFUA1QBtANYAVQDXAFoA2ABaANkAWgDaAIAA2wBwANwAmgDdAFoA3gBaAN8AkADgAH0A4QBaAOIAwgDkAFoA5QBaAOYAWgDnAHAA6ABVAOkAVQDrAGIA7ABiAO0AYgDuAGIA7wBiAQkAVQEWAA8BFwAeARgAHgEZAB4BGgAeARsAHgEoABsBKQAaASoAGgErABoBLAAaAS0AGgEuAB4BLwAeATAAHgExAB4BMgAeATMAHgE0AB4BNQAeATgAQgFOAFkBTwBZAVAAWQFRAFkBUgBZAVQADwFVAA8BVgAPAVcADwFbAA8BXAAPAWX//QHBAB0BwgAdAcYABQHHABAByQB3AcsAUwHPAEIB4gCTAeQAhwHmAIwB8wA8AfQAewH1ADwB9gB7AfgALAH6ACwB+wCAAfwAgAH+ACwCAAAsAgQADwIHABYCCAA0AgkAFgJ/AFoAMwAZ//kAJv/9AH7//gCxAAcAtAAMANQADADVAAwA1gAMANcADgDYAA4A2QABANoAJgDbAA4A3AAOAN0ADgDeAA4A3wAeAOAADgDhAA4A4gCHAOQADgDlAA4A5gAOAOcADgDoAAwA6QAMAOsADADsAAwA7QAMAO4ADADvAAwBCQAMAU4ADgFPAA4BUAAOAVEADgFSAA4BZf/9AckAGAHLACgBzwAcAeQACwHmAA0B8wAZAfQAFgH1ABkB9gAWAfsAFgH8ABYCCAATAn8ADgCgAAH/5wAC/+cAA//nAAT/5wAF/+cABv/nAAf/5wAI/+cACf/nAAr/5wAL/+cADP/nAA//9wAW//cAF//3ABj/9wAZ//cAGv/3ABv/9wAc//cAHf/3AB7/9wAf//cAIP/3ACH/9wAi//cAI//3ACT/9wAn//cAL//3ADD/9wAx//cAMv/3ADP/9wA0//cANf/3ADb/9wA3//cAOP/3ADn/9wA6//cAO//3ADz/9wA9//cAQf/3AEL/9wBD//cARP/3AEX/9wBG//cAR//3AEn/9wBK//cAS//3AEz/9wBN//cATv/3AE//9wBQ//cAX//3AGD/9wBi//cAY//3AGT/9wBl//cAbf/fAG7/3wBv/98AcP/fAHH/3wBy//gAc//4AHT/+AB1//gAdv/4AHf/+AB4//gAef/4AHr/+AB7//gAfP/4AH3/+AB+/+EAf//pAID/6QCB/+kAgv/pAIP/6QCE/90Ahf/RAIb/0QCH/9EAiP/RAIn/0QCK/9EAi//RAIz/6gCN/+oAjv/qAI//6gCT//cAmv/3AJv/9wCc//cAnf/3AJ7/9wCf//cAoP/3AKH/9wCi//cAo//3AKT/9wCl//cAzP/+ARb//gEo//IBKf/3ASr/9wEr//cBLP/3AS3/9wEu//EBL//yATD/8gEx//IBMv/yATP/8gE0//IBNf/yATb/+QE3//kBOP/5ATn/+QFJ//wBSv/8AUv//AFM//wBTf/8AVT//gFV//4BVv/+AVf//gFb//4BXP/+AcT/9gHF//YByP/2AdH/4AHS/+EB3P/UAeL/4wHk/+0B5v/tAfH/9gHy//YCCv/3AoD/9wKD//cChP/3AoX/9wAdABn//QAm//0Afv+4AIT/5gEV//4BKP/rAS7/5wFd/+IBXv/bAWL/2wFj//wBaP/QAa4ABAG0AAQBy//hAc//6QHR/+wB0v+6Adz/3gHi/90B5P/nAeb/6AH0/98B9v/fAfv/3wH8/98CCP/0Agr/0QIQ/+EAEAAZ//cAJv/7AH7/ygDkAAgA5QAIAOYACADnAAgA9wAIAWL/+gFl//4BaP/aAdL/zgHi/+gB5P/6Aeb/+wIK/98ADAAZ//cAJv/7AH7/ygDkAAgBYv/6AWX//gFo/9oB0v/OAeL/6AHk//oB5v/7Agr/3wAPABn/+QAm//sA1QAPANoACwDbABsA3AAnAN8AEgDgAA0A4gBAAOcAGwFi//0BZf/+AeL/6AHk//oB5v/7ADEAGf/5ACb/+wC0ABcA1AAXANUAIQDWABcA1wAZANgAGQDZAAEA2gA9ANsAGQDcAG8A3QAZAN4AGQDfAHYA4AA7AOEAGQDiAFUA5AAZAOUAGQDmABkA5wAZAOgAFwDpABcA6wAXAOwAFwDtABcA7gAXAO8AFwEJABMBDQAZAREADwE4AAsBTgAZAU8AGQFQABkBUQAZAVIAGQFi//0BZf/+AckAOgHiADYB5AA2AeYAOgH0ADcB9gA3AfsAPAH8ADwCfwAZAC4AGf/5ACb/+wC0AAkA1AAJANUAJgDWAAkA1wAKANgACgDZAAoA2gAxANsACgDcAAoA3QAKAN4ACgDfAAoA4AAKAOEACgDiAAoA5AAKAOUACgDmAAoA5wAKAOgACQDpAAkA6wAJAOwACQDtAAkA7gAJAO8ACQEJAAkBTgALAU8ACwFQAAsBUQALAVIACwFi//0BZf/+AckAGwHiABUB5AAdAeYAIgH0ABsB9gAbAfsAIAH8ACACfwAKADoAGf/5ACb/+wCxABYAtAAXANQAFwDVAEEA1gAXANcAGQDYABkA2QAGANoAHgDbAH8A3ABsAN0AGQDeABkA3wAZAOAAGQDhABkA4gAZAOQAGQDlABkA5gAZAOcAGQDoABcA6QAXAOsAFwDsABcA7QAXAO4AFwDvABcBBgAFAQkAFwFOABkBTwAZAVAAGQFRABkBUgAZAWL//QFl//4ByQAwAcsASAHPAD8B5AAUAeYAFgHzADoB9AAvAfUAOgH2AC8B+AAbAfoAGwH7AC8B/AAvAf4AGwIAABsCBwANAggANAIJAA0CfwAZAEMAGf/5ACb/+wCZAAYAsQAcALQAIgDUACIA1QBMANYAIgDXACQA2AAkANkAJADaAEkA2wBrANwAJADdACQA3gAkAN8AZQDgACQA4QAkAOIAJADkACQA5QAkAOYAJADnACQA6AAiAOkAIgDrACIA7AAiAO0AIgDuACIA7wAiAPgACgEGAAwBCQAiARcABgEYAAYBGQAGARoABgEbAAYBSAAIAU4AJAFPACQBUAAkAVEAJAFSACQBYv/9AWX//gHJADEBywA7Ac8ALwHiACcB5AAyAeYANwHzAC4B9AAsAfUALgH2ACwB+AAeAfoAHgH7ADMB/AAzAf4AHgIAAB4CBwAMAggAJwIJAAwCfwAkAA0AGf/5ACb/+wDVAA8A2gALANsADwDcAA8A3wABAOAADQDiAEAA5wAbAWL//QFl//4B4v/sADMAGf/5ACb/+wC0AAkA1AAJANUAMwDWAAkA1wAKANgACgDZAAoA2gAvANsACgDcAAoA3QAKAN4ACgDfAAoA4AAKAOEACgDiAAoA5AAKAOUACgDmAAoA5wAKAOgACQDpAAkA6wAJAOwACQDtAAkA7gAJAO8ACQEJAAkBTgALAU8ACwFQAAsBUQALAVIACwFi//0BZf/+AckAGwHLACYBzwAcAeIADAHkABcB5gAbAfMAFgH0ABoB9QAWAfYAGgH7AB4B/AAeAggADQJ/AAoADQAZ//kAJv/7ANUADwDaAAsA2wAbANwAJwDfABIA4AANAOIAQADkABkA5wAbAWL//QFl//4APQAZ//kAJv/7AJkABgC0ADcA1AA3ANUAVQDWADcA1wA8ANgAPADZADwA2gBhANsAPADcADwA3QA8AN4APADfADwA4AA8AOEAPADiAKYA5AA8AOUAPADmADwA5wA8AOgANwDpADcA6wA3AOwANwDtADcA7gA3AO8ANwEJADcBFwAGARgABgEZAAYBGgAGARsABgFOADsBTwA7AVAAOwFRADsBUgA7AWL//QFl//4ByQBXAcsAOwHPACwB4gBWAeQAWAHmAFwB8wAnAfQAVgH1ACcB9gBWAfgADAH6AAwB+wBcAfwAXAH+AAwCAAAMAggAGAJ/ADwAEAAZ//kAJv/7ANUADwDaAAsA2wAbANwAJwDfABIA4AANAOIAQADkAAwA5QAMAOYADADnABsA9wAMAWL//QFl//4ADgAZ//kAJv/7ANUADwDaAAsA2wAbANwAJwDfABIA4AANAOIAQADkAAwA5wAbAWL//QFl//4B4v/yAC4AGf/5ACb/+wC0ABcA1AAXANUAIQDWABcA1wAZANgAGQDZABkA2gA9ANsAGQDcABkA3QAZAN4AGQDfABkA4AAZAOEAGQDiABkA5AAZAOUAGQDmABkA5wAZAOgAFwDpABcA6wAXAOwAFwDtABcA7gAXAO8AFwEJABcBTgAZAU8AGQFQABkBUQAZAVIAGQFi//0BZf/+AckAOQHiADYB5AA2AeYAOgH0ADYB9gA2AfsAPAH8ADwCfwAZADgAGf/5ACb/+wC0ABcA1AAXANUAQQDWABcA1wAZANgAGQDZABkA2gAeANsAGQDcABkA3QAZAN4AGQDfABkA4AAZAOEAGQDiABkA5AAZAOUAGQDmABkA5wAZAOgAFwDpABcA6wAXAOwAFwDtABcA7gAXAO8AFwEJABcBTgAZAU8AGQFQABkBUQAZAVIAGQFi//0BZf/+AckAMAHLAEgBzwA/AeQAFAHmABYB8wA5AfQALgH1ADkB9gAuAfgAGwH6ABsB+wAuAfwALgH+ABsCAAAbAgcADQIIADQCCQANAn8AGQAtABn/+QAm//EAfv/nAL7/3ADL/+AA8P/pAS4ADwFT/90BXQAMAV4ADwFh//wBYgAGAWX/3QFm//oBZ//4AWj/6AGtACABsAAMAbEAIwGyABsBswAhAbUAGwG2AAMBtwAOAboAEgG7ABsBvAAKAb0ADwG/AA8ByQAGAcsAHQHN/98BzwATAdEAGQHS/9QB3AARAeQABQHmAAcCA//2AgT/+wIIAAwCCv/eAhAAGAISABQCJ//eADoAGf/5ACb/8QB+/+cAvv/cAMv/4ADw/+kBLgAUAVP/3QFdAAwBXgAPAWH//AFiAAYBZf/dAWb/+gFn//gBaP/oAa0AIAGwAAwBsQAjAbIAGwGzACEBtQAbAbYAAwG3AA4BugASAbsAGwG8AAoBvQAPAb8ADwHEAAgBxQAIAcYABQHHAAUByAAIAckADQHLACQBzf/fAc8AGgHRABkB0v/UAdwAEQHkAAEB5gACAfEACAHyAAgB8wAQAfUAEAH7AAYB/AAGAgP/9gIE//sCBwAFAggAEwIJAAUCCv/eAhAAGAISABQCJ//eAHsAGf/5ACb//QB+//4AmQAjALQAXAC3AC0AzAAVANQAXADVAHQA1gBcANcAYADYAGAA2QBgANoAhgDbAHcA3AChAN0AYADeAGAA3wCXAOAAhADhAGAA4gDIAOQAYADlAGAA5gBgAOcAdwDoAFwA6QBcAOoABgDrAFwA7ABcAO0AXADuAFwA7wBcAPEABgDyAAYA8wAGAPUAJwD2AAYA9wAGAPgABgD5AAYBCAAGAQkAXAELAAYBDAAGAQ0ABgEOAAYBEQBRARYAFQEXACMBGAAjARkAIwEaACMBGwAjARwACAEdAAgBHgAIAR8ACAEgAAgBIQAIASIACAEjAAgBJAAIASUACAEmAAgBJwAIASgAIAEpAB8BKgAfASsAHwEsAB8BLQAfAS4AJAEvACMBMAAjATEAIwEyACMBMwAjATQAIwE1ACMBNgAJATcACQE4AEgBOQAJAU4AXwFPAF8BUABfAVEAXwFSAF8BVAAVAVUAFQFWABUBVwAVAVsAFQFcABUBZf/9AcEAIwHCACMBxgAKAccAFgHJAH0BywBaAc3/4gHPAEkB4gCaAeQAjgHmAJIB8wBDAfQAgQH1AEMB9gCBAfgAMQH6ADEB+wCHAfwAhwH+ADECAAAxAgQAFAIHABwCCAA7AgkAHAJ/AGAADgAZ//kAJv/9AH7//gDVAAwA2gAIANsAGADcACQA3wAPAOAACgDiADsA5AASAOcAGAFl//0Bzf/iAGQApv/8AKf//ACo//wAqf/8AKr//ACr//wArP/8AK3//ACu//wAr//8ALD//ACx//wAsv/8ALP//AC1//YAtv/2ALf/9gC4//YAuf/2ALr/9gC7//cAvP/3AL3/9wC///YAwP/2AMH/9gDC//YAw//2AMT/9gDF//YAxv/2AMf/9gDI//YAyf/2AM3/+gDO//oAz//6AND/+gDR//oA0v/6ANP/+gDw//cA+v/2APv/9gD8//YA/f/2AP7/9gD///YBAP/2AQH/9gEC//YBA//2AQT/9gEF//YBBv/2AQf/9gEK//cBD//8ARD//AER//wBEv/8ARP//AEU//wBPf/3AT7/9wE///cBQP/3AUH/9wFC//cBQ//3AUT/9wFF//cBRv/3AUf/9wFI//cBSf/zAUr/8wFL//MBTP/zAU3/8wFT//cBxP/jAcX/4wHI/+MBywAKAc8ABgHY//oB2f/6Adr/+gHb//oB4v/jAeT/7QHm/+0B8f/jAfL/4wH3//IB+f/yAf3/8gH///ICBP/xABAAGf/4ACb/+gB+/74BKP/wAV3/7AFe/+QBYv/hAWj/1wHL/+cBz//tAdL/vgHi/+cB5P/6Aeb/+wIK/9QCEP/nABIAGf/4ACb/+gB+/74BKP/wAV3/7AFe/+QBYv/hAWj/1wHL/+cBz//tAdL/vgHi/+cB5P/6Aeb/+wH0/+kB9v/pAgr/1AIQ/+cAEQAZ//gAJv/6AH7/vgDkAA4BKP/wAV3/7AFe/+QBYv/hAWj/1wHL/+cBz//tAdL/vgHi/+cB5P/6Aeb/+wIK/9QCEP/nABgAGf/8AH7/tQCE/9sBKP/rAS7/5AFd/98BXv/XAWL/2AFj//cBaP/OAbQABgHL/98Bz//oAdH/5gHS/7kB3P/VAeL/2QHk/+IB5v/iAfv/2QH8/9kCCP/0Agr/0AIQ/98AGgAZ//wAfv+1AIT/2wEo/+sBLv/kAV3/3wFe/9cBYv/YAWP/9wFo/84BtAAGAcv/3wHP/+gB0f/mAdL/uQHc/9UB4v/ZAeT/4gHm/+IB9P/aAfb/2gH7/9kB/P/ZAgj/9AIK/9ACEP/fABgAGf/8AH7/tQCE/9sBKP/rAS7/5AFd/98BXv/XAWL/2AFj//cBaP/OAbQABgHL/98Bz//oAdH/5gHS/7kB3P/VAeL/2QHk/+IB5v/iAfP/4gH1/+ICCP/0Agr/0AIQ/98AGAAZ//wAfv+1AIT/2wEo/+sBLv/kAV3/3wFe/9cBYv/YAWP/9wFo/84BtAAGAcv/3wHP/+gB0f/mAdL/uQHc/9UB4v/ZAeT/4gHm/+IB8//kAfX/5AII//QCCv/QAhD/3wAWABn//AB+/7UAhP/bASj/6wEu/+QBXf/fAV7/1wFi/9gBY//3AWj/zgG0AAYBy//fAc//6AHR/+YB0v+5Adz/1QHi/9kB5P/iAeb/4gII//QCCv/QAhD/3wAaABn//AB+/7UAhP/bASj/6wEu/+QBXf/fAV7/1wFi/9gBY//3AWj/zgG0AAYBy//6Ac//6AHR/+YB0v+5Adz/1QHi/9kB5P/iAeb/4gHz/+IB9P/aAfX/4gH2/9oCCP/0Agr/0AIQ/98AGAAZ//wAfv+1AIT/2wEo/+sBLv/kAV3/3wFe/9cBYv/YAWP/9wFo/84BtAAGAcv/3wHP/+gB0f/mAdL/uQHc/9UB4v/ZAeT/4gHm/+IB8//mAfX/5gII//QCCv/QAhD/3wAZABn//QAm//0Afv+4AIT/5gEV//4BKP/rAS7/5wFd/+IBXv/bAWL/2wFj//wBaP/QAa4ABAG0AAQBy//hAc//6QHR/+wB0v+6Adz/3gHi/90B5P/nAeb/6AII//QCCv/RAhD/4QAWABn//AB+/7gAhP/fASj/7AEu/+cBXf/eAV7/1gFi/9kBY//2AWj/zQG0AAUBy//fAc//5gHR/+YB0v+5Adz/2QHi/9kB5P/jAeb/4wII/+4CCv/OAhD/3wAQABn/9wAm//sAfv/KAOQAGQDlABkA5gAZAOcAGQD3ABkBYv/6AWX//gFo/9oB0v/OAeL/6AHk//oB5v/7Agr/3wAqABn/9gAm//kAfv/kAIT/wAC+/+cAy//vAPD/8AEV//sBLgAFAVP/8QFeAAQBZf/UAWb/+wFo/90Baf/6AbcABAG5AAYBugANAbsAEAG8AAwBvQAGAb8ABwHAAAUByQAXAcsAGgHN/+4BzwAJAdH/wgHS/90B3P/HAeIADQHkAAsB5gAPAfQAEgH2ABIB+wAWAfwAFgIE/+gCCv/sAhAADQISAAcCJ//6ACoAGf/2ACb/+QB+/+QAhP/AAL7/5wDL/+8A8P/wARX/+wEuAAUBU//xAV4ABAFl/9QBZv/7AWj/3QFp//oBtwAEAbkABgG6AA0BuwAQAbwADAG9AAYBvwAHAcAABQHJABYBywAaAc3/7gHPAAkB0f/CAdL/3QHc/8cB4gAMAeQACQHmAA4B9AARAfYAEQH7ABUB/AAVAgT/6AIK/+wCEAANAhIABwIn//oAJQAZ//YAJv/5AH7/5ACE/8AAvv/nAMv/7wDw//ABFf/7AS4ABQFT//EBXgAEAWX/1AFm//sBaP/dAWn/+gG3AAQBuQAGAboADQG7ABABvAAMAb0ABgG/AAcBwAAFAcsAGgHN/+4BzwAJAdH/wgHS/90B3P/HAeL/3AHk/+QB5v/iAgT/6AIK/+wCEAANAhIABwIn//oAGwAZ//kAJv/8AH7/ugCE//ABFf/+ASj/7AEu/+8BXf/rAV7/4wFi/+EBaP/WAa4ABwG0AAUBy//qAc//6wHR//YB0v++Adz/7AHi/+AB5P/tAeb/7wH0//AB9v/wAfv/6AH8/+gCCv/TAhD/6AAbABn/+QAm//wAfv+6AIT/8AEV//4BKP/sAS7/7wFd/+sBXv/jAWL/4QFo/9YBrgAHAbQABQHL/+oBz//rAdH/9gHS/74B3P/sAeL/4AHk/+0B5v/vAfT/8AH2//AB+//xAfz/8QIK/9MCEP/oABkAGf/5ACb//AB+/7oAhP/wARX//gEo/+wBLv/vAV3/6wFe/+MBYv/hAWj/1gGuAAcBtAAFAcv/6gHP/+sB0f/2AdL/vgHc/+wB4v/gAeT/7QHm/+8B9P/xAfb/8QIK/9MCEP/oABcAGf/5ACb//AB+/7oAhP/wARX//gEo/+wBLv/vAV3/6wFe/+MBYv/hAWj/1gGuAAcBtAAFAcv/6gHP/+sB0f/2AdL/vgHc/+wB4v/gAeT/7QHm/+8CCv/TAhD/6ADGAAH/7QAC/+0AA//tAAT/7QAF/+0ABv/tAAf/7QAI/+0ACf/tAAr/7QAL/+0ADP/tAA//9wAQ//sAEf/7ABL/+wAT//sAFP/7ABX/+wAW//cAF//3ABj/9wAZ//cAGv/3ABv/9wAc//cAHf/3AB7/9wAf//cAIP/3ACH/9wAi//cAI//3ACT/9wAn//cAKP/7ACn/+wAr//sALP/7AC3/+wAv//cAMP/3ADH/9wAy//cAM//3ADT/9wA1//cANv/3ADf/9wA4//cAOf/3ADr/9wA7//cAPP/3AD3/9wBB//cAQv/3AEP/9wBE//cARf/3AEb/9wBH//cASf/3AEr/9wBL//cATP/3AE3/9wBO//cAT//3AFD/9wBR//sAUv/7AFP/+wBU//sAVf/7AFb/+wBX//sAWP/7AFn/+wBa//sAW//7AFz/+wBd//sAX//3AGD/9wBh//sAYv/3AGP/9wBk//cAZf/3AG3/0QBu/9EAb//RAHD/0QBx/9EAcv/2AHP/9gB0//YAdf/2AHb/9gB3//YAeP/2AHn/9gB6//YAe//2AHz/9gB9//YAfv/OAH//2QCA/9kAgf/ZAIL/2QCD/9kAhP/oAIX/tACG/7QAh/+0AIj/tACJ/7QAiv+0AIv/tACM//YAjf/2AI7/9gCP//YAk//3AJT/+wCV//sAlv/7AJf/+wCY//sAmf/0AJr/9wCb//cAnP/3AJ3/9wCe//cAn//3AKD/9wCh//cAov/3AKP/9wCk//cApf/3AMz/8AEW//ABF//0ARj/9AEZ//QBGv/0ARv/9AEo/+oBKf/vASr/7wEr/+8BLP/vAS3/7wEu/+kBL//qATD/6gEx/+oBMv/qATP/6gE0/+oBNf/qATb/+AE3//gBOP/4ATn/+AFU//ABVf/wAVb/8AFX//ABW//wAVz/8AFd//ABXv/2Acv/8QHP//YB0f/tAdL/0gHc/+AB4v/hAeT/7AHm/+4B8//vAfT/6gH1/+8B9v/qAfv/7AH8/+wCCP/0Agr/4gIQ//MCgP/3AoP/9wKE//cChf/3ACoA1wAfANgAHwDZAB8A2gAfANsAHwDcAB8A3QAfAN4AHwDfAB8A4AAfAOEAHwDiAB8A5AAfAOUAHwDmAB8A5wAfAV0ANQFeADYByQAxAcsALgHPAB4B0gA4AeIAKgHkACoB5gAuAfMAIQH0ADAB9QAhAfYAMAH4AAwB+gAMAfsANgH8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Adz/yQHi/9gB5P/gAeb/3wHx/8YB8v/GAfMABgH1AAYB9//sAfn/7AH9/+wB///sAgP/9wIE/+wCCAAJAgr/6QIQABMCEgAOAoD//gKD//4ChP/+AoX//gAmABn/+gAm//oAfv/iAIT/zwC+/+4Ay//zAPD/8gEV//QBU//xAV0ACQFeAAsBYf/8AWIABQFl/+gBZv/6AWf/+wFo/90Baf/7AbcACgG6ABEBuwAVAbwADQG9AAwBvwAMAcAACAHLABgBzwAPAdH/0gHS/9gB3P/PAeL/2gHk/+IB5v/hAgT/8QIIAAkCCv/qAhAAEgISAA4AtgAQ//IAEf/yABL/8gAT//IAFP/yABX/8gAZ//oAJv/0ACj/8gAp//IAK//yACz/8gAt//IAPv/fAED/3wBR//IAUv/yAFP/8gBU//IAVf/yAFb/8gBX//IAWP/yAFn/8gBa//IAW//yAFz/8gBd//IAYf/yAGb/9ABn//QAaP/0AGn/9ABq//QAa//0AG3/pgBu/6YAb/+mAHD/pgBx/6YAfv/lAH//8gCA//IAgf/yAIL/8gCD//IAhf/AAIb/wACH/8AAiP/AAIn/wACK/8AAi//AAJT/8gCV//IAlv/yAJf/8gCY//IApv/wAKf/8ACo//AAqf/wAKr/8ACr//AArP/wAK3/8ACu//AAr//wALD/8ACx//AAsv/wALP/8AC1/+QAtv/kALf/5AC4/+QAuf/kALr/5AC7/+cAvP/nAL3/5wC+/+MAv//kAMD/5ADB/+QAwv/kAMP/5ADE/+QAxf/kAMb/5ADH/+QAyP/kAMn/5ADL/+cAzf/kAM7/5ADP/+QA0P/kANH/5ADS/+QA0//kAPD/6wD6/+QA+//kAPz/5AD9/+QA/v/kAP//5AEA/+QBAf/kAQL/5AED/+QBBP/kAQX/5AEG/+QBB//kAQr/5wEP/+8BEP/vARH/7wES/+8BE//vART/7wEuABEBPf/nAT7/5wE//+cBQP/nAUH/5wFC/+cBQ//nAUT/5wFF/+cBRv/nAUf/5wFI/+cBU//iAV0ADgFeABABYgAJAWX/4gFo/+kBrQAUAbAABQGxABcBsgAQAbMAFgG1AA8BtwAPAboAEwG7ABgBvAAOAb0AEAG/ABABwAAHAcQABgHFAAYByAAGAckABwHLABsBzf/1Ac8AFAHRAA4B0v/YAdj/3QHZ/90B2v/dAdv/3QHcAAoB8QAGAfIABgHzAAoB9QAKAff/2gH5/9oB/f/aAf//2gIIAA0CCv/mAhAAFgISABMCJ//qACoAGf/2ACb/9QB+/+EAhP/GAL7/5gDL/+0A8P/tARX/8QFT/+4BXQAJAV4ADAFh//kBYgAFAWP//AFk//sBZf/cAWb/9wFn//kBaP/bAWn/9wFq//wBtwAKAboAEAG7ABYBvAAMAb0ADAG/AAwBwAAHAcsAGgHPAA8B0f/HAdL/2QHc/8YB4v/YAeT/3wHm/98CA//3AgT/7AIIAAkCCv/pAhAAFAISABAAEgAZ//kAJv/1AH7/1QCEAAQAvv/zAMv/9QDw//MBKP/5AVP/8wFl//ABaP/dAa4ABgHLAAQBzf/3AdL/0QHi//QCCv/gAif/+gAMABn/9wAm//sAfv/KAOQAGQFi//oBZf/+AWj/2gHS/84B4v/zAeT/+gHm//sCCv/fAAsAGf/3ACb/+wB+/8oBYv/6AWX//gFo/9oB0v/OAeL/6AHk//oB5v/7Agr/3wAtABn/9gAm//cAfv/mAIQADgC+//EAy//0ANsAFQDcABMA4gArAOQAGQDlABkA5gAZAOcAGQDw//UA9wAkARX//AEoAAQBLgAIAVP/9AFdAAkBXgAMAWIABgFl/+cBaP/vAa0ABwGwAAoBsQAOAbIABwGzAAgBtQAHAbYAAwG3AAsBugAPAbsAEwG8AAcBvQAMAb8ADAHLABUBzf/5Ac8ADwHS/98CCAAJAgr/6wIQABACEgAPAB8AGf/rACb/6QB+/9kAvv/zAMv/9ADiABQA8P/tARX/8gEo/+ABU//rAV3/8gFe//IBYf/uAWL/6wFl//cBZv/5AWf/7wFo/+8Baf/4AWr/+QGuAAcBy//rAc3/zQHP/+sB0v/bAeL/9gID//gCCP/oAgr/7QIQ/+kCJ//pAG0AGf/rACb/6QB+/9kAmQAAALQAMwC3AAkAvv/zAMv/9ADM//UA1AAzANUAMwDWADMA1wA3ANgANwDZADcA2gA3ANsANwDcADcA3QA3AN4ANwDfADcA4AA3AOEANwDiAHYA5AA3AOUANwDmADcA5wA3AOgAMwDpADMA6wAzAOwAMwDtADMA7gAzAO8AMwDw/+0A9QAGAQkAMwERACcBFf/yARb/9QEXAAABGAAAARkAAAEaAAABGwAAASj/+gEp//sBKv/7ASv/+wEs//sBLf/7AS///QEw//0BMf/9ATL//QEz//0BNP/9ATX//QE4ACQBTgA2AU8ANgFQADYBUQA2AVIANgFT/+sBVP/1AVX/9QFW//UBV//1AVv/9QFc//UBXf/yAV7/8gFh/+4BYv/rAWX/9wFm//kBZ//vAWj/7wFp//gBav/5Aa4ABwHJAFQBywA0Ac3/zQHPACQB0v/bAeIAcQHkAGUB5gBpAfMAGwH0AFgB9QAbAfYAWAH4ABMB+gATAfsAXQH8AF0B/gATAgAAEwID//gCB//8AggAFgIJ//wCCv/tAhD/6QIn/+kCfwA3ACAAGf/rACb/6QB+/9kAvv/zAMv/9ADiABQA5AAKAPD/7QEV//IBKP/gAVP/6wFd//IBXv/yAWH/7gFi/+sBZf/3AWb/+QFn/+8BaP/vAWn/+AFq//kBrgAHAcv/6wHN/80Bz//rAdL/2wHi//YCA//4Agj/6AIK/+0CEP/pAif/6QBpAKb//gCn//4AqP/+AKn//gCq//4Aq//+AKz//gCt//4Arv/+AK///gCw//4Asf/+ALL//gCz//4Atf/2ALb/9gC3//YAuP/2ALn/9gC6//YAu//3ALz/9wC9//cAv//2AMD/9gDB//YAwv/2AMP/9gDE//YAxf/2AMb/9gDH//YAyP/2AMn/9gDN//oAzv/6AM//+gDQ//oA0f/6ANL/+gDT//oA8P/2APr/9gD7//YA/P/2AP3/9gD+//YA///2AQD/9gEB//YBAv/2AQP/9gEE//YBBf/2AQb/9gEH//YBCv/3AQ///QEQ//0BEf/9ARL//QET//0BFP/9ASj//AEp//0BKv/9ASv//QEs//0BLf/9AS///AEw//wBMf/8ATL//AEz//wBNP/8ATX//AE9//cBPv/3AT//9wFA//cBQf/3AUL/9wFD//cBRP/3AUX/9wFG//cBR//3AUj/9wFJ//wBSv/8AUv//AFM//wBTf/8AVP/9QHLAAMB2P/5Adn/+QHa//kB2//5AeL/6wH3/+0B+f/tAf3/7QH//+0CBP/6AC8AJv/+AH4ADAC+/+4Ay//2ANUAIwDaADAA2wAkANwASwDfADoA4AA2AOIAYgDnACQA8P/zARX//QEYAAYBKAAEAS4ACAFT//QBXQAGAV4ACAFiAAcBZf/eAWgAFgG3AAoBuAAaAbkADAG6ABIBuwAVAbwAEQG9AAsBvgAWAb8ADgHAAAwByQAGAcsAHgHN//IBzwAMAdH/1AHSAA4B3P/gAeQAAgHmAAgCBP/7AggABgIKACECEAASAhIADgANABn/+QAm//0Afv/+ANUADADaAAgA2wAYANwAJADfAA8A4AAKAOIAOwDnABgBZf/9Ac3/4gAMABn/6wAm/+kAfv/ZAL7/8wDL//QA4gAUAPD/7QEV//IBKP/gAVP/6wFd//IBXv/yAAMB4v/sAer/6AHu//oAAQHq//YANgAB/+AAAv/gAAP/4AAE/+AABf/gAAb/4AAH/+AACP/gAAn/4AAK/+AAC//gAAz/4ABt/+MAbv/jAG//4wBw/+MAcf/jAH7/4QB//+0AgP/tAIH/7QCC/+0Ag//tAIT/5gCF/8oAhv/KAIf/ygCI/8oAif/KAIr/ygCL/8oAjP/yAI3/8gCO//IAj//yASj/+gEp//wBKv/8ASv//AEs//wBLf/8AS//+gEw//oBMf/6ATL/+gEz//oBNP/6ATX/+gFJ//cBSv/3AUv/9wFM//cBTf/3AgH/8wBPAAH//gAC//4AA//+AAT//gAF//4ABv/+AAf//gAI//4ACf/+AAr//gAL//4ADP/+AH7//gCF//wAhv/8AIf//ACI//wAif/8AIr//ACL//wAtf/+ALb//gC3//4AuP/+ALn//gC6//4Au//7ALz/+wC9//sAv//+AMD//gDB//4Awv/+AMP//gDE//4Axf/+AMb//gDH//4AyP/+AMn//gDN//4Azv/+AM///gDQ//4A0f/+ANL//gDT//4A+v/+APv//gD8//4A/f/+AP7//gD///4BAP/+AQH//gEC//4BA//+AQT//gEF//4BBv/+AQf//gEK//sBPf/7AT7/+wE///sBQP/7AUH/+wFC//sBQ//7AUT/+wFF//sBRv/7AUf/+wFI//sBSf/8AUr//AFL//wBTP/8AU3//ABjAAH//AAC//wAA//8AAT//AAF//wABv/8AAf//AAI//wACf/8AAr//AAL//wADP/8AD7/9QBA//UAbf/1AG7/9QBv//UAcP/1AHH/9QB+/+0Af//zAID/8wCB//MAgv/zAIP/8wCF/9sAhv/bAIf/2wCI/9sAif/bAIr/2wCL/9sAtf/6ALb/+gC3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ADMBLgATAUkABgFKAAYBSwAGAUwABgFNAAYAFAABABEAAgARAAMAEQAEABEABQARAAYAEQAHABEACAARAAkAEQAKABEACwARAAwAEQCEAB4A5AAxAS4AFgFJAAYBSgAGAUsABgFMAAYBTQAGABQAAQAMAAIADAADAAwABAAMAAUADAAGAAwABwAMAAgADAAJAAwACgAMAAsADAAMAAwAhAAaAOQAMAEuABEBSQAEAUoABAFLAAQBTAAEAU0ABABeAAH/+AAC//gAA//4AAT/+AAF//gABv/4AAf/+AAI//gACf/4AAr/+AAL//gADP/4AD4AEwBAABMAZgAKAGcACgBoAAoAaQAKAGoACgBrAAoApgADAKcAAwCoAAMAqQADAKoAAwCrAAMArAADAK0AAwCuAAMArwADALAAAwCxAAMAsgADALMAAwC1AAYAtgAGALcABgC4AAYAuQAGALoABgC7AAQAvAAEAL0ABAC/AAYAwAAGAMEABgDCAAYAwwAGAMQABgDFAAYAxgAGAMcABgDIAAYAyQAGAM0ABADOAAQAzwAEANAABADRAAQA0gAEANMABAD6AAYA+wAGAPwABgD9AAYA/gAGAP8ABgEAAAYBAQAGAQIABgEDAAYBBAAGAQUABgEGAAYBBwAGAQoABAEPAAkBEAAJAREACQESAAkBEwAJARQACQE9AAQBPgAEAT8ABAFAAAQBQQAEAUIABAFDAAQBRAAEAUUABAFGAAQBRwAEAUgABAAUAAEACwACAAsAAwALAAQACwAFAAsABgALAAcACwAIAAsACQALAAoACwALAAsADAALAIQAGADkADUBLgAOAUkABgFKAAYBSwAGAUwABgFNAAYADwABABAAAgAQAAMAEAAEABAABQAQAAYAEAAHABAACAAQAAkAEAAKABAACwAQAAwAEACEAB0A5AAqAS4AFAAgAG0ABgBuAAYAbwAGAHAABgBxAAYAhf/4AIb/+ACH//gAiP/4AIn/+ACK//gAi//4AJkABgEXAAYBGAAGARkABgEaAAYBGwAGASgACgEpAAoBKgAKASsACgEsAAoBLQAKAS4ADwEvAA4BMAAOATEADgEyAA4BMwAOATQADgE1AA4AFAB+AAYAfwADAIAAAwCBAAMAggADAIMAAwEoAAQBKQAEASoABAErAAQBLAAEAS0ABAEuAAgBLwAHATAABwExAAcBMgAHATMABwE0AAcBNQAHABgAbQAEAG4ABABvAAQAcAAEAHEABAB+AAcAfwAGAIAABgCBAAYAggAGAIMABgCFAAQAhgAEAIcABACIAAQAiQAEAIoABACLAAQAmQAGARcABgEYAAYBGQAGARoABgEbAAYAGwB+AAEAmQAMAMwABgEWAAYBFwAMARgADAEZAAwBGgAMARsADAEoAAwBKQAMASoADAErAAwBLAAMAS0ADAEuABABLwAPATAADwExAA8BMgAPATMADwE0AA8BNQAPAVQABgFVAAYBVgAGAVcABgAaAJkADwDMAAYBFgAGARcADwEYAA8BGQAPARoADwEbAA8BKAATASkAEQEqABEBKwARASwAEQEtABEBLgAVAS8AFwEwABcBMQAXATIAFwEzABcBNAAXATUAFwFUAAYBVQAGAVYABgFXAAYAGwB+//wAmQANAMwABAEWAAQBFwANARgADQEZAA0BGgANARsADQEoABABKQAOASoADgErAA4BLAAOAS0ADgEuABIBLwAUATAAFAExABQBMgAUATMAFAE0ABQBNQAUAVQABAFVAAQBVgAEAVcABAAsAG0ABgBuAAYAbwAGAHAABgBxAAYAfgAJAH8ABwCAAAcAgQAHAIIABwCDAAcAhQAFAIYABQCHAAUAiAAFAIkABQCKAAUAiwAFAJkACQDMAAIBFgACARcACQEYAAkBGQAJARoACQEbAAkBKAAMASkADAEqAAwBKwAMASwADAEtAAwBLgAQAS8ADwEwAA8BMQAPATIADwEzAA8BNAAPATUADwFUAAIBVQACAVYAAgFXAAIAEwBtABIAbgASAG8AEgBwABIAcQASAH4AHAB/ABgAgAAYAIEAGACCABgAgwAYAIQADwCFABcAhgAXAIcAFwCIABcAiQAXAIoAFwCLABcAIAB+AAQAfwAEAIAABACBAAQAggAEAIMABACZAAsAzAADARYAAwEXAAsBGAALARkACwEaAAsBGwALASgADAEpAAwBKgAMASsADAEsAAwBLQAMAS4AEAEvAA8BMAAPATEADwEyAA8BMwAPATQADwE1AA8BVAADAVUAAwFWAAMBVwADACAAbQAGAG4ABgBvAAYAcAAGAHEABgCF//oAhv/6AIf/+gCI//oAif/6AIr/+gCL//oAmQAEARcABAEYAAQBGQAEARoABAEbAAQBKAAJASkACQEqAAkBKwAJASwACQEtAAkBLgAOAS8ADAEwAAwBMQAMATIADAEzAAwBNAAMATUADAADAH7/4wCE/+0BKP/qAAQAbv/DAH7/3QCEAAkA4gAKAAoATgAbAG7/xgB+/90AhAAJAOIAGQDkAB0A5QAdAOYAHQDnAB0A9wAdAA4AGP/mABn/5gAm/+AAMP/0AEj/4ABe/9kAfv+lAIQADAC+//oA8P/hARX/7wEo/8YBLgAGAVP/3wAdAA0ABAAOAAQATgArAG3/wgBu/8UAb//CAHD/wgBx/8IAfv/fAH//6QCA/+kAgf/pAIL/6QCD/+kAhf/EAIb/xACH/8QAiP/EAIn/xACK/8QAi//EAOIAEADkADEA5QAxAOYAMQDnADEA7gAJAPcAMQEOAA4A0gABAAYAAgAGAAMABgAEAAYABQAGAAYABgAHAAYACAAGAAkABgAKAAYACwAGAAwABgANACEADgAhABD/xgAR/8YAEv/GABP/xgAU/8YAFf/GABj/5AAZ/+QAJv/JACj/xgAp/8YAK//GACz/xgAt/8YAMP/xAD7/2QBA/9kASP/eAE4AHgBR/8YAUv/GAFP/xgBU/8YAVf/GAFb/xgBX/8YAWP/GAFn/xgBa/8YAW//NAFz/zQBd/8YAXv/FAGH/xgBm/+0AZ//tAGj/7QBp/+0Aav/tAGv/7QBt/6MAbv+jAG//owBw/6MAcf+jAHL/zwBz/88AdP/PAHX/zwB2/88Ad//PAHj/zwB5/88Aev/PAHv/zwB8/88Aff/PAH7/pgB//7cAgP+3AIH/twCC/7cAg/+3AIQAFACF/5gAhv+YAIf/mACI/5gAif+YAIr/mACL/5gAlP/GAJX/xgCW/8YAl//GAJj/xgCZ/9MApv/4AKf/+ACo//gAqf/4AKr/+ACr//gArP/4AK3/+ACu//gAr//4ALD/+ACx//gAsv/4ALP/+AC1/9YAtv/WALf/1gC4/9YAuf/WALr/1gC7/9oAvP/aAL3/2gC+/9cAv//WAMD/1gDB/9YAwv/WAMP/1gDE/9YAxf/WAMb/1gDH/9YAyP/WAMn/1gDL/9kAzP/jAOQAIwDlACMA5gAjAOcAIwDw/+AA9wAjAPr/1gD7/9YA/P/WAP3/1gD+/9YA///WAQD/1gEB/9YBAv/WAQP/1gEE/98BBf/fAQb/1gEH/9YBCv/aAQ//6QEQ/+kBEf/pARL/6QET/+kBFP/pARX/7QEW/+MBF//TARj/0wEZ/9MBGv/TARv/0wEc/+QBHf/kAR7/5AEf/+QBIP/kASH/5AEi/+QBI//kAST/5AEl/+QBJv/kASf/5AEo/8MBKf/KASr/ygEr/8oBLP/KAS3/ygEuAAsBL//7ATD/+wEx//sBMv/7ATP/+wE0//sBNf/7AT3/2gE+/9oBP//aAUD/2gFB/9oBQv/aAUP/2gFE/9oBRf/aAUb/2gFH/9oBSP/aAU7/7gFP/+4BUP/uAVH/7gFS/+4BU//VAVT/4wFV/+MBVv/jAVf/4wBHAAH/zwAC/88AA//PAAT/zwAF/88ABv/PAAf/zwAI/88ACf/PAAr/zwAL/88ADP/PAA3/yQAO/8kAPv/sAED/7ABt/60Abv+tAG//rQBw/60Acf+tAH7/0gB//+AAgP/gAIH/4ACC/+AAg//gAIT/xgCF/7IAhv+yAIf/sgCI/7IAif+yAIr/sgCL/7IAjP/bAI3/2wCO/9sAj//bAJn/9gDM//cA6//iAOz/4gDt/+IA7v/iAO//4gEW//cBF//2ARj/9gEZ//YBGv/2ARv/9gEu//UBNv/1ATf/9QE4//UBOf/1AUn/9gFK//YBS//2AUz/9gFN//YBTv/pAU//6QFQ/+kBUf/pAVL/6QFU//cBVf/3AVb/9wFX//cAkQAB/74AAv++AAP/vgAE/74ABf++AAb/vgAH/74ACP++AAn/vgAK/74AC/++AAz/vgAN/7UADv+1ADAABQA+/8AAQP/AAEj/8ACE/+sAhf/rAIb/6wCH/+sAiP/rAIn/6wCK/+sAi//rAIz/+wCN//sAjv/7AI//+wCZAAsApv/sAKf/7ACo/+wAqf/sAKr/7ACr/+wArP/sAK3/7ACu/+wAr//sALD/7ACx//IAsv/sALP/7AC1/+gAtv/oALf/6AC4/+gAuf/oALr/6AC7/+YAvP/mAL3/5gC+/+QAv//oAMD/6ADB/+gAwv/oAMP/6ADE/+gAxf/oAMb/6ADH/+gAyP/oAMn/6ADL/+0AzAAGAM3/7ADO/+wAz//sAND/7ADR/+wA0v/sANP/7ADVABwA2wBBANwAMgDgAB8A4gBZAOcAQQDw//cA+v/oAPv/6AD8/+gA/f/oAP7/6AD//+gBAP/oAQH/6AEC/+gBA//oAQT/6AEF/+gBBv/vAQf/6AEK/+YBD//sARD/7AER/+wBEv/sARP/7wEU/+wBFgAGARcACwEYAAsBGQALARoACwEbAAsBKAAPASkADwEqAA8BKwAPASwADwEtAA8BLgAUAS8AEwEwABMBMQATATIAEwEzABMBNAATATUAEwE9/+YBPv/mAT//5gFA/+YBQf/mAUL/5gFD/+YBRP/mAUX/5gFG/+YBR//mAUj/5gFJ/+ABSv/gAUv/4AFM/+ABTf/gAVP/+QFUAAYBVQAGAVYABgFXAAYAzwAB/6QAAv+kAAP/pAAE/6QABf+kAAb/pAAH/6QACP+kAAn/pAAK/6QAC/+kAAz/pAAN/5kADv+ZABD/0QAR/9EAEv/RABP/0QAU/9EAFf/RABn/4QAm/9cAKP/RACn/0QAr/9EALP/RAC3/0QA+/64AQP+uAFH/0QBS/9EAU//RAFT/0QBV/9EAVv/RAFf/0QBY/9EAWf/RAFr/0QBb/9EAXP/RAF3/0QBe/9IAYf/RAGb/4QBn/+EAaP/hAGn/4QBq/+EAa//hAGz/2AB+AAkAfwAHAIAABwCBAAcAggAHAIMABwCFAAYAhgAGAIcABgCIAAYAiQAGAIoABgCLAAYAlP/RAJX/0QCW/9EAl//RAJj/0QCZ/+MApv++AKf/vgCo/74Aqf++AKr/vgCr/74ArP++AK3/vgCu/74Ar/++ALD/vgCx/74Asv++ALP/vgC1/7kAtv+5ALf/uQC4/7kAuf+5ALr/uQC7/7kAvP+5AL3/uQC+/8EAv/+5AMD/uQDB/7kAwv+5AMP/uQDE/7kAxf+5AMb/uQDH/7kAyP+5AMn/uQDL/70AzP/fAM3/vADO/7wAz/+8AND/vADR/7wA0v+8ANP/vADq/84A8f/OAPL/zgDz/84A9f/OAPb/zgD3/84A+P/OAPn/zgD6/7kA+/+5APz/uQD9/7kA/v+5AP//uQEA/7kBAf+5AQL/uQED/7kBBP+5AQX/uQEG/7kBB/+5AQj/zgEK/7kBC//OAQz/zgEN/84BDv/OAQ//wAEQ/8ABEf/AARL/wAET/8ABFP/AARX/0wEW/98BF//jARj/4wEZ/+MBGv/jARv/4wEc/9ABHf/QAR7/0AEf/9ABIP/QASH/0AEi/9ABI//QAST/0AEl/9ABJv/QASf/0AEo/9gBKf/YASr/2AEr/9gBLP/YAS3/2AEu/9gBL//bATD/2wEx/9sBMv/bATP/2wE0/9sBNf/bATb/zwE3/88BOP/PATn/zwE9/7kBPv+5AT//uQFA/7kBQf+5AUL/uQFD/7kBRP+5AUX/uQFG/7kBR/+5AUj/uQFJ/7UBSv+1AUv/tQFM/7UBTf+1AVT/3wFV/98BVv/fAVf/3wDPAAEACQACAAkAAwAJAAQACQAFAAkABgAJAAcACQAIAAkACQAJAAoACQALAAkADAAJAA0AJgAOACYAEP/RABH/0QAS/9EAE//RABT/0QAV/9EAGf/hACb/1QAo/9EAKf/RACv/0QAs/9EALf/RAD7/8ABA//AAUf/RAFL/0QBT/9EAVP/RAFX/0QBW/9EAV//RAFj/0QBZ/9EAWv/RAFv/0QBc/9EAXf/RAF7/0gBh/9EAZv/mAGf/5gBo/+YAaf/mAGr/5gBr/+YAbf+oAG7/qABv/6gAcP+oAHH/qABy/9gAc//YAHT/2AB1/9gAdv/YAHf/2AB4/9gAef/YAHr/2AB7/9gAfP/YAH3/2AB+/6UAf/+9AID/vQCB/70Agv+9AIP/vQCEABgAhf+fAIb/nwCH/58AiP+fAIn/nwCK/58Ai/+fAJT/0QCV/9EAlv/RAJf/0QCY/9EAmf/UAKb/9wCn//cAqP/3AKn/9wCq//cAq//3AKz/9wCt//cArv/3AK//9wCw//cAsf/3ALL/9wCz//cAtf/mALb/5gC3/+YAuP/mALn/5gC6/+YAu//mALz/5gC9/+YAvv/lAL//5gDA/+YAwf/mAML/5gDD/+YAxP/mAMX/5gDG/+YAx//mAMj/5gDJ/+YAy//nAMz/3QDN//YAzv/2AM//9gDQ//YA0f/2ANL/9gDT//YA5AAKAPr/5gD7/+YA/P/mAP3/5gD+/+YA///mAQD/5gEB/+YBAv/mAQP/5gEE/+YBBf/mAQb/5gEH/+YBCv/mAQ//9gEQ//YBEf/2ARL/9gET//YBFP/2ARX/5wEW/90BF//UARj/1AEZ/9QBGv/UARv/1AEc/+kBHf/pAR7/6QEf/+kBIP/pASH/6QEi/+kBI//pAST/6QEl/+kBJv/pASf/6QEo/8kBKf/SASr/0gEr/9IBLP/SAS3/0gEuAA4BL//MATD/zAEx/8wBMv/MATP/zAE0/8wBNf/MAT3/5gE+/+YBP//mAUD/5gFB/+YBQv/mAUP/5gFE/+YBRf/mAUb/5gFH/+YBSP/mAU7/8gFP//IBUP/yAVH/8gFS//IBVP/dAVX/3QFW/90BV//dABkAAf/4AAL/+AAD//gABP/4AAX/+AAG//gAB//4AAj/+AAJ//gACv/4AAv/+AAM//gAbf/mAG7/5gBv/+YAcP/mAHH/5gB+//AAhf/cAIb/3ACH/9wAiP/cAIn/3ACK/9wAi//cAAUADQAKAA4ACgA9AAYATgAWAIQABAAiAAH/9wAC//cAA//3AAT/9wAF//cABv/3AAf/9wAI//cACf/3AAr/9wAL//cADP/3ABj/9AAZ//QAPgAEAEAABABt/8IAbv/CAG//wgBw/8IAcf/CAH7/xQB//9IAgP/SAIH/0gCC/9IAg//SAIX/uQCG/7kAh/+5AIj/uQCJ/7kAiv+5AIv/uQAGADD/+QBu/7kAfv/HAIT/0QEo//YBLv/dAMgAAQAIAAIACAADAAgABAAIAAUACAAGAAgABwAIAAgACAAJAAgACgAIAAsACAAMAAgADQAfAA4AHwAQ/74AEf++ABL/vgAT/74AFP++ABX/vgAZ//EAJv/EACj/vgAp/74AK/++ACz/vgAt/74APv/dAED/3QBR/74AUv++AFP/vgBU/74AVf++AFb/vgBX/74AWP++AFn/vgBa/74AW/++AFz/vgBd/74AXv+8AGH/vgBm/+oAZ//qAGj/6gBp/+oAav/qAGv/6gBt/7wAbv+8AG//vABw/7wAcf+8AHL/ywBz/8sAdP/LAHX/ywB2/8sAd//LAHj/ywB5/8sAev/LAHv/ywB8/8sAff/LAH7/sgB//8AAgP/AAIH/wACC/8AAg//AAIQAEQCF/7MAhv+zAIf/swCI/7MAif+zAIr/swCL/7MAlP++AJX/vgCW/74Al/++AJj/vgCZ/9MApv/vAKf/7wCo/+8Aqf/vAKr/7wCr/+8ArP/vAK3/7wCu/+8Ar//vALD/7wCx/+8Asv/vALP/7wC1/9UAtv/VALf/1QC4/9UAuf/VALr/1QC7/9kAvP/ZAL3/2QC+/9YAv//VAMD/1QDB/9UAwv/VAMP/1QDE/9UAxf/VAMb/1QDH/9UAyP/VAMn/1QDL/9kAzP/xAOQAIgD6/9UA+//VAPz/1QD9/9UA/v/VAP//1QEA/9UBAf/VAQL/1QED/9UBBP/VAQX/1QEG/9UBB//VAQr/2QEP/+sBEP/rARH/6wES/+sBE//rART/6wEV//YBFv/xARf/0wEY/9MBGf/TARr/0wEb/9MBHP/kAR3/5AEe/+QBH//kASD/5AEh/+QBIv/kASP/5AEk/+QBJf/kASb/5AEn/+QBKP/IASn/zwEq/88BK//PASz/zwEt/88BLgAKAS//7QEw/+0BMf/tATL/7QEz/+0BNP/tATX/7QE9/9kBPv/ZAT//2QFA/9kBQf/ZAUL/2QFD/9kBRP/ZAUX/2QFG/9kBR//ZAUj/2QFO/+0BT//tAVD/7QFR/+0BUv/tAVT/8QFV//EBVv/xAVf/8QAEADD/+wBu/7oAfv/UAIT/xQEgAAH/+AAC//gAA//4AAT/+AAF//gABv/4AAf/+AAI//gACf/4AAr/+AAL//gADP/4AA//+QAQ/9wAEf/cABL/3AAT/9wAFP/cABX/3AAW//kAF//5ABj/6AAZ/+gAGv/5ABv/+QAc//kAHf/5AB7/+QAf//kAIP/5ACH/+QAi//kAI//5ACT/+QAm/98AJ//5ACj/3AAp/9wAK//cACz/3AAt/9wAL//5ADD/9AAx//kAMv/5ADP/+QA0//kANf/5ADYAJwA3AB4AOP/5ADn/+QA6//kAO//5ADz/+QA9AD0APv/dAED/3QBB//kAQv/5AEP/+QBE//kARf/5AEb/+QBH//kASP/iAEn/+QBK//kAS//5AEz/+QBN//kATgAjAE//+QBQ//kAUf/cAFL/3ABT/9wAVP/cAFX/3ABW/9wAV//cAFj/3ABZ/9wAWv/cAFv/3ABc/9wAXf/cAF7/3ABf//kAYP/5AGH/3ABi//kAY//5AGT/+QBl//kAZv/mAGf/5gBo/+YAaf/mAGr/5gBr/+YAbP/sAHL/7wBz/+8AdP/vAHX/7wB2/+8Ad//vAHj/7wB5/+8Aev/vAHv/7wB8/+8Aff/vAIX/+ACG//gAh//4AIj/+ACJ//gAiv/4AIv/+ACU/9wAlf/cAJb/3ACX/9wAmP/cAJn/5ACa//kAm//5AJz/+QCd//kAnv/5AJ//+QCg//kAof/5AKL/+QCj//kApP/5AKb/4QCn/+EAqP/hAKn/4QCq/+EAq//hAKz/4QCt/+EArv/hAK//4QCw/+EAsf/hALL/4QCz/+EAtf/ZALb/2QC3/9kAuP/ZALn/2QC6/9kAu//ZALz/2QC9/9kAvv/aAL//2QDA/9kAwf/ZAML/2QDD/9kAxP/ZAMX/2QDG/9kAx//ZAMj/2QDJ/9kAy//bAMz/4wDN//MAzv/zAM//8wDQ//MA0f/zANL/8wDT//MA1gA6ANj/6ADZ/+wA2gAUANwAKQDfAC4A4AAOAOIALwDkACkA5QApAOYAKQDnACkA6v/oAPD/4ADx/+gA8v/oAPP/6AD1/+gA9v/oAPcAIQD4/+gA+f/oAPr/2QD7/9kA/P/ZAP3/2QD+/9kA///ZAQD/2QEB/9kBAv/ZAQP/2QEE/9kBBf/ZAQb/2QEH/9kBCP/oAQr/2QEL/+gBDP/oAQ3/6AEO/+8BD//gARD/4AER/+ABEv/gARP/4AEU/+ABFf/hARb/4wEX/+QBGP/kARn/5AEa/+QBG//kARz/4AEd/+ABHv/gAR//4AEg/+ABIf/gASL/4AEj/+ABJP/gASX/4AEm/+ABJ//gASj/2QEp/9oBKv/aASv/2gEs/9oBLf/aAS//8wEw//MBMf/zATL/8wEz//MBNP/zATX/8wE2//UBN//1ATj/9QE5//UBPf/ZAT7/2QE//9kBQP/ZAUH/2QFC/9kBQ//ZAUT/2QFF/9kBRv/ZAUf/2QFI/9kBTv/5AU//+QFQ//kBUf/5AVL/+QFT/98BVP/jAVX/4wFW/+MBV//jAMIADQAKAA4ACgAQ/+MAEf/jABL/4wAT/+MAFP/jABX/4wAY//QAGf/0ACb/5gAo/+MAKf/jACv/4wAs/+MALf/jADYAGgA3ABIAPQAtAD7/4wBA/+MASP/qAE4AGgBR/+MAUv/jAFP/4wBU/+MAVf/jAFb/4wBX/+MAWP/jAFn/4wBa/+MAW//jAFz/4wBd/+MAXv/jAGH/4wBm//EAZ//xAGj/8QBp//EAav/xAGv/8QBs//sAhAAFAIX/+ACG//gAh//4AIj/+ACJ//gAiv/4AIv/+ACU/+MAlf/jAJb/4wCX/+MAmP/jAJn/7gCm/+4Ap//uAKj/7gCp/+4Aqv/uAKv/7gCs/+4Arf/uAK7/7gCv/+4AsP/uALH/7gCy/+4As//uALX/4gC2/+IAt//iALj/4gC5/+IAuv/iALv/4wC8/+MAvf/jAL7/5AC//+IAwP/iAMH/4gDC/+IAw//iAMT/4gDF/+IAxv/iAMf/4gDI/+IAyf/iAMv/5ADM/+0A1QALANYALQDY//oA2gAcANsAFQDcADUA3wAvAOAAGQDiAEcA5AAfAOUAHwDmAB8A5wAfAOr/+gDw/+oA8f/6APL/+gDz//oA9f/6APb/+gD3ABoA+P/6APn/+gD6/+IA+//iAPz/4gD9/+IA/v/iAP//4gEA/+IBAf/iAQL/4gED/+IBBP/iAQX/4gEG/+IBB//iAQj/+gEK/+MBC//6AQz/+gEN//oBDv/6AQ//7AEQ/+wBEf/sARL/7AET/+wBFP/sARX/6wEW/+0BF//uARj/6wEZ/+4BGv/uARv/7gEc/+oBHf/qAR7/6gEf/+oBIP/qASH/6gEi/+oBI//qAST/6gEl/+oBJv/qASf/6gEo/+ABKf/iASr/4gEr/+IBLP/iAS3/4gEv/+4BMP/uATH/7gEy/+4BM//uATT/7gE1/+4BPf/jAT7/4wE//+MBQP/jAUH/4wFC/+MBQ//jAUT/4wFF/+MBRv/jAUf/4wFI/+MBU//oAVT/7QFV/+0BVv/tAVf/7QC7AA0ADAAOAAwAEP/fABH/3wAS/98AE//fABT/3wAV/98AGP/0ABn/9AAm/+IAKP/fACn/3wAr/98ALP/fAC3/3wA2AB8ANwAUAD0ANAA+/94AQP/eAEj/6QBOABwAUf/fAFL/3wBT/98AVP/fAFX/3wBW/98AV//fAFj/3wBZ/98AWv/fAFv/3wBc/98AXf/fAF7/3wBh/98AZv/sAGf/7ABo/+wAaf/sAGr/7ABr/+wAbP/7AIQABwCU/98Alf/fAJb/3wCX/98AmP/fAJn/7QCm//EAp//xAKj/8QCp//EAqv/xAKv/8QCs//EArf/xAK7/8QCv//EAsP/xALH/8QCy//EAs//xALX/4wC2/+MAt//jALj/4wC5/+MAuv/jALv/4wC8/+MAvf/jAL7/5AC//+MAwP/jAMH/4wDC/+MAw//jAMT/4wDF/+MAxv/jAMf/4wDI/+MAyf/jAMv/5QDM/+wA1QANANYAMgDY//sA2gAhANsAFgDcADoA3wAzAOAAHgDiAEsA5AAhAOUAIQDmACEA5wAhAOr/+wDw/+oA8f/7APL/+wDz//sA9f/7APb/+wD3ABwA+P/7APn/+wD6/+MA+//jAPz/4wD9/+MA/v/jAP//4wEA/+MBAf/jAQL/4wED/+MBBP/jAQX/4wEG/+MBB//jAQj/+wEK/+MBC//7AQz/+wEN//sBDv/7AQ//7gEQ/+4BEf/uARL/7gET/+4BFP/uARX/7AEW/+wBF//tARj/6QEZ/+0BGv/tARv/7QEc/+kBHf/pAR7/6QEf/+kBIP/pASH/6QEi/+kBI//pAST/6QEl/+kBJv/pASf/6QEo/98BKf/hASr/4QEr/+EBLP/hAS3/4QEv/+4BMP/uATH/7gEy/+4BM//uATT/7gE1/+4BPf/jAT7/4wE//+MBQP/jAUH/4wFC/+MBQ//jAUT/4wFF/+MBRv/jAUf/4wFI/+MBU//pAVT/7AFV/+wBVv/sAVf/7AB2AA//+QAQ/9sAEf/bABL/2wAT/9sAFP/bABX/2wAW//kAF//5ABj/6AAZ/+gAGv/5ABv/+QAc//kAHf/5AB7/+QAf//kAIP/5ACH/+QAi//kAI//5ACT/+QAm/90AJ//5ACj/2wAp/9sAK//bACz/2wAt/9sAL//5ADD/9AAx//kAMv/5ADP/+QA0//kANf/5ADYAQwA3AC4AOP/5ADn/+QA6//kAOwAHADz/+QA9AE8APv/fAED/3wBB//kAQv/5AEP/+QBE//kARf/5AEb/+QBH//kASP/iAEn/+QBK//kAS//5AEz/+QBN//kATgAiAE//+QBQ//kAUf/bAFL/2wBT/9sAVP/bAFX/2wBW/9sAV//bAFj/2wBZ/9sAWv/bAFv/2wBc/9sAXf/bAF7/2gBf//kAYP/5AGH/2wBi//kAY//5AGT/+QBl//kAZv/mAGf/5gBo/+YAaf/mAGr/5gBr/+YAbP/uAHL/7gBz/+4AdP/uAHX/7gB2/+4Ad//uAHj/7gB5/+4Aev/uAHv/7gB8/+4Aff/uAJT/2wCV/9sAlv/bAJf/2wCY/9sAmv/5AJv/+QCc//kAnf/5AJ7/+QCf//kAoP/5AKH/+QCi//kAo//5AKT/+QA5AA0ADAAOAAwAEP/iABH/4gAS/+IAE//iABT/4gAV/+IAGP/0ABn/9AAm/+QAKP/iACn/4gAr/+IALP/iAC3/4gA2ADcANwAjAD0ARAA+/+cAQP/nAEj/6wBOABcAUf/iAFL/4gBT/+IAVP/iAFX/4gBW/+IAV//iAFj/4gBZ/+IAWv/iAFv/4gBc/+IAXf/iAF7/4gBh/+IAZv/vAGf/7wBo/+8Aaf/vAGr/7wBr/+8AhAADAIX/+QCG//kAh//5AIj/+QCJ//kAiv/5AIv/+QCU/+IAlf/iAJb/4gCX/+IAmP/iADIADQAQAA4AEAAQ/94AEf/eABL/3gAT/94AFP/eABX/3gAY//QAGf/0ACb/4QAo/94AKf/eACv/3gAs/94ALf/eADYAPAA3ACUAPQBIAD7/4gBA/+IASP/pAE4AGABR/94AUv/eAFP/3gBU/94AVf/eAFb/3gBX/94AWP/eAFn/3gBa/94AW//eAFz/3gBd/94AXv/eAGH/3gBm/+sAZ//rAGj/6wBp/+sAav/rAGv/6wCEAAQAlP/eAJX/3gCW/94Al//eAJj/3gAbABj/5gAZ/+YAJv/gADD/9ABI/+AATgAbAF7/2QB+/6UAhAAMAL7/+gDkAB0A5QAdAOYAHQDnAB0A8P/hAPcAHQEV/+8BKP/GAS4ABgEv/9cBMP/XATH/1wEy/9cBM//XATT/1wE1/9cBU//fAB0AGP/7ABn/+wA9AA8ASP/rAL7/2QDB/+IAwv/iAMf/4gDI/+QAy//vANP/6QDVABQA2gALANsAOQDcAC4A3wAiAOAADwDiAE8A5wA5APD/6gD8/+IBAP/iAQL/5AER//kBE//5ARX/+QEoAAUBLgAJAVP/7QAnADYABQA9ACEASP/sAF7/+wB+AA0AhAAFAKn/3ACx/9cAt//QAL7/zQDB/80Awv/ZAMP/0gDL/9AAz//UAND/0wDT/9IA1QAgANYAEADY//kA2gAjANsAOQDcADkA3wA4AOAAJQDiAF4A5f/xAOcAOQDw/+kA+P/8AP3/0AEB/8wBFf/vAUD/zQFD/80BRP/LAUr/2wFL/+IBU//sAB4AGP/7ABn/+wA2AAYANwAEAD0AIwBI/+sAfgANAIQABQCo/+YAvv/TAMH/2QDL/98A0//hANUAFgDWABEA2gAfANsAMADcADUA3wA1AOAAIQDiAFAA5wAxAPD/6QD8/9kBEf/0ARX/+QFB/+EBRP/bAUj/6AFT/+wABwB+/+UA2wAcANwAHwDiADQA5wAcAPD/8gFT//kACAAYAAEAGQABADD/6wBu/7MAfv/BAIT/ygEo/+wBLv/ZAAEBZf/OADIAAf/eAAL/3gAD/94ABP/eAAX/3gAG/94AB//eAAj/3gAJ/94ACv/eAAv/3gAM/94ADf/iAA7/4gBt/88Abv/PAG//zwBw/88Acf/PAH7/2AB//+MAgP/jAIH/4wCC/+MAg//jAIT/3QCF/8EAhv/BAIf/wQCI/8EAif/BAIr/wQCL/8EAjP/lAI3/5QCO/+UAj//lASj/+QEv//kBMP/5ATH/+QEy//kBM//5ATT/+QE1//kBSf/3AUr/9wFL//cBTP/3AU3/9wBJAAEADAACAAwAAwAMAAQADAAFAAwABgAMAAcADAAIAAwACQAMAAoADAALAAwADAAMAA0AJgAOACYAPv/5AED/+QBOABMAZv/1AGf/9QBo//UAaf/1AGr/9QBr//UAbf++AG7/xgBv/74AcP++AHH/vgB+/88Af//hAID/4QCB/+EAgv/hAIP/4QCEABkAhf+6AIb/ugCH/7oAiP+6AIn/ugCK/7oAi/+6AJn/+ADM//kA5AARAOUAEQDmABEA5wARAPcAEQEW//kBF//4ARj/+AEZ//gBGv/4ARv/+AEo/+kBKf/wASr/8AEr//ABLP/wAS3/8AEuABABL//qATD/6gEx/+oBMv/qATP/6gE0/+oBNf/qAVT/+QFV//kBVv/5AVf/+QBmAAH/xQAC/8UAA//FAAT/xQAF/8UABv/FAAf/xQAI/8UACf/FAAr/xQAL/8UADP/FAA3/vQAO/70APv/YAED/2AB+//UAhP/iAIX/4wCG/+MAh//jAIj/4wCJ/+MAiv/jAIv/4wCM//cAjf/3AI7/9wCP//cAmQAEALX/9AC2//QAt//0ALj/9AC5//QAuv/0ALv/9AC8//QAvf/0AL7/6wC///QAwP/0AMH/9ADC//QAw//0AMT/9ADF//QAxv/0AMf/9ADI//QAyf/0APr/9AD7//QA/P/0AP3/9AD+//QA///0AQD/9AEB//QBAv/0AQP/9AEE//QBBf/0AQb/9AEH//QBCv/0ARcABAEYAAQBGQAEARoABAEbAAQBKAAJASkACQEqAAkBKwAJASwACQEtAAkBLgANAS8ADAEwAAwBMQAMATIADAEzAAwBNAAMATUADAE9//QBPv/0AT//9AFA//QBQf/0AUL/9AFD//QBRP/0AUX/9AFG//QBR//0AUj/9AFJ/+gBSv/oAUv/6AFM/+gBTf/oAAIAfv/iAIT/4QABAOQAEwAlAAH/3AAC/9wAA//cAAT/3AAF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ABIBnQGlABQBrQGtAB0BrwG3AB4BuQHCACcBxAHIADEBygHNADYBzwHPADoB0QHTADsB1QHVAD4B2AHmAD8B6QHuAE4B8QIAAFQCAwIEAGQCBwIJAGYCCwINAGkCEAIQAGwCEgISAG0CFQIVAG4CFwIYAG8CGgIiAHECJAIkAHoCJgIrAHsCLQIuAIECgAKAAIMCgwKFAIQAEwFh/+4BYv/rAWX/9wFm//kBZ//vAWj/7wFp//gBav/5Aa4ABwHL/+sBzf/NAc//6wHS/9sB4v/2AgP/+AII/+gCCv/tAhD/6QIn/+kAEQFo/+8BxP/jAcX/4wHI/+MB0f/YAdL/2AHc/80B4v/eAeT/5wHm/+MB6v/dAez/5gHu/+IB8f/jAfL/4wIK//QCJv/5AAUBZf/+Aff/+wH5//sB/f/7Af//+wAQAWX/8gHN//kB0v/lAdj/6wHZ/+sB2v/rAdv/6wHi//gB9//qAfn/6gH9/+oB///qAhf/8gIc//sCJv/3Ai7/9QARAVv//AFc//wBaP/5Ac3/+gHR/+oB0v/dAdz/2gHd//gB3v/4Ad//+AHg//gB4v/kAeT/7wHm/+wB6v/kAez/7gHu/+sALQFb/+wBXP/sAWL/6AFj//oBaP/qAcT/8QHF//EByP/xAcv/5QHN//QBz//mAdH/7AHS/9YB3P/jAd3/8wHe//MB3//zAeD/8wHi/+QB5P/rAeb/6QHq/+QB7P/sAe7/6QHx//EB8v/xAfP/5gH0/+YB9f/mAfb/5gH7/+YB/P/mAgr/6QIL/+ECDP/mAg3/5gIg/+kCIv/7AiT/+wIm//kCKP/1Air/9gI///ICQP/yAkH/8gAKAVv/+gFc//oBYv/3AWP//gHL//IB0f/oAdL/9wHc/+sB4v/zAer/8QAPAWj//gHE//kBxf/5Acj/+QHR/+MB0v/nAdz/3gHi/+cB5P/yAeb/8AHq/+UB7P/vAe7/7AHx//kB8v/5ADkBW//qAVz/6gFh//EBY//9AWT//gFl/6wBZv/1AWf/6gFp//wBav/9AcT/mgHF/5oByP+aAcsABAHN/8UB0P/iAdH/mQHY/7YB2f+2Adr/tgHb/7YB3P+rAd3/xAHe/8QB3//EAeD/xAHx/5oB8v+aAff/twH4/+wB+f+3Afr/7AH9/7cB/v/sAf//twIA/+wCA//XAgT/5QIKABwCFf/dAhf/vAIY/9cCGv/UAhv/2wIc//ACHf/gAh7/5QIf/+ECIf/eAiT/5AIn/8gCKP++Ain/9AIq/8gCK//eAi3/8AIu/74AEAFb//0BXP/9AWj//AHR/+kB0v/fAdz/2gHd//gB3v/4Ad//+AHg//gB4v/lAeT/8AHm/+0B6v/kAez/7wHu/+wAEQFo//MBxP/eAcX/3gHI/94B0f/TAdL/2wHc/8kB4v/fAeT/6AHm/+QB6v/dAez/5gHu/+EB8f/eAfL/3gIK//YCJv/4AAEBmP/2AAEBlf/5AAIBkv/yAZj/8wAGAZH//QGV/9EBl//0AeEABAHjAAkB6wAEAAEBmP/9AAIBov/1AaX/6QABAZ///AABAaX/8AADAZz/8gGi//MBpf/xAAEBpf/tAAgBm//7AZ//0QGh//UBpf++AeYABAHuAAUB+wAEAfwABAABAaX/7wACAaL//QGl/+UACQGR/+QBkv/vAZP/6QGU/+oBlf/CAZb/7gGX/+IBmf/pAZr/6QABAbT/+AACAbH/+wHiAAQAAgHiAAcB6gAGAAUBrv/yAbT/8wHiAAcB5gACAeoABgABAeoABAABAeoAAwAEAa3//QGx/9EBsv/7AbP/9QACAeIABgHqAAUAAQG0//sAAQG+//cAAQG7//gAAgFbAAYBXAAGAAQBWwAGAVwABgG4//IBvv/zAAIBWwAEAVwABAACAVsAAgFcAAIACgG3//0Bu//RAbz/+wG9//QB4gAOAeYABAHqAAoB7gADAfsABQH8AAUAAgFbAAMBXAADAAEBvv/9AAkBxf/vAcv/+QHP//kB0f/qAdL/6gHm//oB7v/6AfH/7wHy/+8AAwHL//gB0v/RAeL/9gASAWH/5AFi/8IBZf/wAWf/6AFo/90Bav/5Acv/vQHN/6MBz/+NAdL/mAHh//gB4v/0AeP/3wHp/+sB6//dAgP/9wII/5ICFf/rAAIB9P/1Afb/9QAOAcsAEQHPAAoB4v/oAeT/+wHm//oB6v/kAez/7QHu/+kB8f+4AfL/uAH3/+IB+f/iAf3/4gH//+IAGgFb/+MBXP/jAWH/zQFi/8oBZP/3AWX/yAFm/9kBZ//PAWj/3gFp/9kBav/iAc//ugHz/74B9P+1AfX/vgH2/7UB9/+2Afj/6AH5/7YB+v/oAfv/twH8/7cB/f+2Af7/6AH//7YCAP/oAAwBW//3AVz/9wFi//ABY//3AWT/+QFl//kBaP/LAcT/owHF/6MByP+jAfH/owHy/6MAHQFbAAYBXAAGAWIADgFl/9gBwf/5AcL/+QHE/40Bxf+NAcj/jQHLAAwBzP+3AdX/3AHY//AB2f/wAdr/8AHb//AB4v/pAeT/+gHm//kB6v/lAez/7QHu/+kB8f+NAfL/jQH3/+sB+f/rAf3/6wH//+sCBP/tABUBW//fAVz/3wFh/9gBY//jAWT/5QFl/60BZv/iAWf/0wFp/98Bav/jAcH/6gHC/+oBxP+YAcX/mAHG/9EBx//RAcj/mAHR/1gB0//nAfH/mAHy/5gADwFb/90BXP/dAWH/2AFi/8ABZP/vAWX/7AFm/+8BZ//bAWj/3QFp/+kBav/nAcH/6gHC/+oB0v9YAdP/9gAIAdH/9gHS/+cB3P/hAer/9AH3//kB+f/5Af3/+QH///kADwFi/9IBaP/dAcH/+QHC//kBz//JAfP/xgH0/8YB9f/GAfb/xgH3//kB+f/5Afv/xgH8/8YB/f/5Af//+QAIAWL/2AFj/+MBaP/GAWr/+QHP//EB4v/RAeT/2QHm/9UADAFb//EBXP/xAWH/zQFi/9ABZP/sAWX/zAFm/9gBZ//QAWj/6gFp/9oBav/iAdP/4QAJAWL/8wFj//oBZP/5AWX/9QFo/8QBaf/4Aer/zwHs/9YB7v/TADIAk//5AKX/+QFb/+MBXP/jAWH/3gFi/+0BZP/pAWX/2wFm/+gBZ//eAWn/5QFq/+cBrwAHAbAACAGxAAoBsgAHAbUABgG+AA8BxP/0AcX/9AHG//YBx//2Acj/9AHP/+kB2P/RAdn/0QHa/9EB2//RAeH/5gHj/+EB8f/0AfL/9AHz//MB9f/zAff/zAH4/+QB+f/MAfr/5AH9/8wB/v/kAf//zAIA/+QCBP/lAgf/3gII/+ICCf/eAoD/+QKD//kChP/5AoX/+QAKAZIABQGYAAQBxP/4AcX/+AHI//gB4v/mAeT/8AHm/+0B8f/4AfL/+AAgAVv/7QFc/+0BYf/nAWL/+wFk//MBZf/hAWb/9QFn/+cBaf/wAWr/8QGiAAIBuAADAb4AAgHP//oB2P/ZAdn/2QHa/9kB2//ZAeH/8AHj/+kB9//UAfj/+QH5/9QB+v/5Af3/1AH+//kB///UAgD/+QIE/+0CB//mAgj/7AIJ/+YAFgGSAAkBmAALAZ4AAwGfAAQBxP/fAcX/3wHI/98B4v/hAeT/6QHm/+kB8f/fAfL/3wHz//gB9P/4AfX/+AH2//gB+P/zAfr/8wH7//gB/P/4Af7/8wIA//MAIwFb/+wBXP/sAWH/4wFi//oBZP/wAWX/3QFm/+8BZ//iAWn/7QFq/+8BnAAEAaIACAG4AAkBvgAFAcH/+gHC//oBz//5Adj/1QHZ/9UB2v/VAdv/1QHh/+0B4//pAff/0gH4//kB+f/SAfr/+QH9/9IB/v/5Af//0gIA//kCBP/pAgf/4gII/+kCCf/iAAQB9//xAfn/8QH9//EB///xACsAk//5AKX/+QFh/90BYv/oAWT/6AFl/9wBZv/oAWf/3QFp/+QBav/lAbAABwGxAAgBsgAGAbUABQG2AAQBvgAMAc//5QHT//QB1f/jAd3/zwHe/88B3//PAeD/zwHp/+UB6//hAfP/8QH1//EB9//MAfj/5wH5/8wB+v/nAf3/zAH+/+cB///MAgD/5wIE/+YCB//dAgj/3wIJ/90CgP/5AoP/+QKE//kChf/5AAoBkgAEAZgAAwHE/+sBxf/rAcj/6wHq/+UB7P/wAe7/7QHx/+sB8v/rAB0BYf/mAWL/7gFk//IBZf/hAWb/8QFn/+YBaf/vAWr/7wGiAAIBz//tAdX/7gHd/9YB3v/WAd//1gHg/9YB6f/wAev/6QH3/9QB+P/4Afn/1AH6//gB/f/UAf7/+AH//9QCAP/4AgT/7gIH/+UCCP/mAgn/5QAUAZIABgGYAAcBxP/dAcX/3QHI/90B6v/hAez/6QHu/+kB8f/dAfL/3QHz//kB9P/5AfX/+QH2//kB+P/7Afr/+wH7//kB/P/5Af7/+wIA//sAIQFh/+IBYv/sAWT/7gFl/98BZv/vAWf/4QFp/+wBav/sAaIABQG4AAMBvgADAcH/+gHC//oBz//pAdX/6wHd/9MB3v/TAd//0wHg/9MB6f/tAev/6QH3/9MB+P/5Afn/0wH6//kB/f/TAf7/+QH//9MCAP/5AgT/7AIH/+ECCP/jAgn/4QAEAff/8gH5//IB/f/yAf//8gAUAWH/5AFi/8IBZf/wAWf/6AFo/90Bav/5AcH/7wHC/+8By/+9Ac3/owHP/40B0v+YAeH/+AHi//QB4//fAen/6wHr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ABEAFwAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAXgAAAF4AAABeAAAAZAAAAGoAAABqAAAAagAAAGoAAABqAAAAagAAAGoAAABqAAAAagAAAGoAAABqAAEAAAIHAAEAAQIHAAEAAALRABcAMAA2ADwAQgBIAE4AVABgAFoAYABmAGwAhAByAHgAfgCEAIoAkACWAJwAogCoAAEAAALWAAEAAAL0AAH/0QLWAAEARgLWAAEAEgLZAAEAAALZAAEAAAL3AAEAAALGAAEAAALTAAEAAALlAAEAKgNUAAEAAAO3AAH/ygOgAAEAPgOgAAEAAAOaAAEAAAOjAAEAAAO5AAEAAAOVAAEACQOGAAEAAAOfAAEAAAOAAAEAAAAKAbYDKgACREZMVAAObGF0bgBCAAQAAAAA//8AFQAAAAEAAgADAAUABgAHAAgADgAPABAAEQASABMAFAAVABYAFwAYABkAGgBAAApBWkUgAThDQVQgAHBDUlQgAThLQVogAThNQUggAKJNT0wgAQZOTEQgANRST00gAQZUQVQgAThUUksgATgAAP//ABUAAAABAAIABAAFAAYABwAIAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAAP//ABYAAAABAAIAAwAFAAYABwAIAAoADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAA//8AFgAAAAEAAgADAAUABgAHAAgACwAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaAAD//wAWAAAAAQACAAMABQAGAAcACAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAAP//ABYAAAABAAIAAwAFAAYABwAIAAwADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAA//8AFgAAAAEAAgADAAUABgAHAAgACQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABthYWx0AKRjYWx0AKxjYXNlALZjY21wALxjY21wAMhkbGlnANZkbm9tANxmcmFjAOJsaWdhAOxsb2NsAPJsb2NsAPhsb2NsAP5sb2NsAQRsb2NsAQpudW1yARBvcmRuARZwbnVtAR5zaW5mASRzczAxASpzczAyATRzczAzAT5zczA0AUhzczA1AVJzdWJzAVxzdXBzAWJ0bnVtAWh6ZXJvAW4AAAACAAAAAQAA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AZYBqgG6Ac4B3gHyAgICFgImAjoCSgJeAm4AAQABAAEAAQABAAEAAAArAAIABQABAAEAAgAFAAEAAQAAACsAAQABAAEAAQAEAAEAAAArAAIABQABAAEAAgAFAAQAAQAAACsAAQAEAAEAAQABAAEAAAArAAIABQAEAAEAAgAFAAEAAQAAACsAAQABAAEAAQADAAEAAAArAAIABQABAAEAAgAFAAMAAQAAACsAAQADAAEAAQABAAEAAAArAAIABQADAAEAAgAFAAEAAQAAACsAAQABAAEAAQACAAEAAAArAAIABQABAAEAAgAFAAIAAQAAACsAAQACAAEAAQABAAEAAAArAAIABQACAAEAAgAFAAEAAQAAACsAAQAEAAEAAQAEAAEAAAArAAIABQAEAAEAAgAFAAQAAQAAACsAAQAEAAEAAQADAAEAAAArAAIABQAEAAEAAgAFAAMAAQAAACsAAQAEAAEAAQACAAEAAAArAAIABQAEAAEAAgAFAAIAAQAAACsAAQADAAEAAQADAAEAAAArAAIABQADAAEAAgAFAAMAAQAAACsAAQADAAEAAQAEAAEAAAArAAIABQADAAEAAgAFAAQAAQAAACsAAQADAAEAAQACAAEAAAArAAIABQADAAEAAgAFAAIAAQAAACsAAQACAAEAAQACAAEAAAArAAIABQACAAEAAgAFAAIAAQAAACsAAQACAAEAAQAEAAEAAAArAAIABQACAAEAAgAFAAQAAQAAACsAAQACAAEAAQADAAEAAAArAAIABQACAAEAAgAFAAMAAQAAACsAAQAAAAEACAABAAYA+wABAAEBLgAEAAAAAQAIAAEAzgAFABAAHgAeACgAogACAAYAEgJGAAMB2AItAAEABAJGAAICLQAMABoAIgAqADIAOgBCAEoAUgBaAGIAagByAXcAAwFiAeIBeAADAWMB4gF5AAMBZAHiAXoAAwFlAeIBewADAWYB4gF8AAMBZwHiAX0AAwFoAeIBfgADAWkB4gF/AAMBagHiAgcAAwAQAeICCAADAGIB4gIJAAMAXwHiAAUADAAUABoAIAAmAkoAAwHYAdgCSgACAdgCSgACAdoCSgACAdsCSgACAi4AAQAFAdgB2gHbAeECLgAA") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */

/* 1. Navbar glass effect — opaque dark glass matching image 4 reference */
.hc-nav {
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES
   Target kb-header / kb-footer directly so Pylon's injection (auth, locale,
   powered-by) works while the Dusk design is preserved.
   ========================================================================== */

/* --- Navbar ---------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(27, 12, 8, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex: none !important;
}
/* Hide any logo image Pylon injects — we use the Henry wordmark text */
.kb-header-logo img { display: none !important; }
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-left: auto !important;
}
.kb-header-mobile-nav {
  display: none;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: var(--kafe-900);
  border-top: 1px solid rgba(250,246,242,.10);
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }

/* Search wrapper inside the nav */
.hc-nav__search {
  flex: 1;
  max-width: 380px;
  position: relative;
}
.hc-nav__search::before {
  content: "";
  position: absolute;
  left: 12px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; pointer-events: none; z-index: 2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
}
.hc-nav__search #kb-search,
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input { width: 100% !important; }
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input[type="text"] {
  height: 38px !important;
  padding: 0 14px 0 36px !important;
  border: 1px solid rgba(250,246,242,.18) !important;
  border-radius: 10px !important;
  background: rgba(250,246,242,.08) !important;
  color: var(--kafe-100) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  outline: none !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.4) !important; }

/* --- Footer --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 96px;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; }
.kb-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 32px 32px;
}
/* Hide Pylon's default powered-by and footer logo — we have our own bottom bar */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }

/* kb-footer-legal is our custom bottom bar (already styled via hc- rules above) */
.kb-footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(250,246,242,.12);
  font-size: 12px;
}
.kb-footer-legal-links { display: flex; gap: 20px; }
.kb-footer-legal-links a,
.kb-footer-copyright { color: rgba(250,246,242,.45); text-decoration: none; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.85); }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */

/* 1. Navbar glass effect — opaque dark glass matching image 4 reference */
.hc-nav {
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES
   Target kb-header / kb-footer directly so Pylon's injection (auth, locale,
   powered-by) works while the Dusk design is preserved.
   ========================================================================== */

/* --- Navbar ---------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(27, 12, 8, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex: none !important;
}
/* Hide any logo image Pylon injects — we use the Henry wordmark text */
.kb-header-logo img { display: none !important; }
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-left: auto !important;
}
.kb-header-mobile-nav {
  display: none;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  background: var(--kafe-900);
  border-top: 1px solid rgba(250,246,242,.10);
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }

/* Search wrapper inside the nav */
.hc-nav__search {
  flex: 1;
  max-width: 380px;
  position: relative;
}
.hc-nav__search::before {
  content: "";
  position: absolute;
  left: 12px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; pointer-events: none; z-index: 2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
}
.hc-nav__search #kb-search,
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input { width: 100% !important; }
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input[type="text"] {
  height: 38px !important;
  padding: 0 14px 0 36px !important;
  border: 1px solid rgba(250,246,242,.18) !important;
  border-radius: 10px !important;
  background: rgba(250,246,242,.08) !important;
  color: var(--kafe-100) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  outline: none !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.4) !important; }

/* --- Footer --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 96px;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; }
.kb-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 32px 32px;
}
/* Hide Pylon's default powered-by and footer logo — we have our own bottom bar */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }

/* kb-footer-legal is our custom bottom bar (already styled via hc- rules above) */
.kb-footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(250,246,242,.12);
  font-size: 12px;
}
.kb-footer-legal-links { display: flex; gap: 20px; }
.kb-footer-legal-links a,
.kb-footer-copyright { color: rgba(250,246,242,.45); text-decoration: none; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.85); }
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }


/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */

/* 1. Navbar glass effect — opaque dark glass matching image 4 reference */
.hc-nav {
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */

/* 1. Navbar glass effect — opaque dark glass matching image 4 reference */
.hc-nav {
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(27, 12, 8, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(250,246,242,.10) !important;
  font-family: var(--font-sans) !important;
  /* Reset anything Pylon sets on the root element */
  color: var(--kafe-100) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo area — hide Pylon's injected img, show our wordmark */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img { display: none !important; }
.kb-header-logo .hc-wordmark {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.01em !important;
}
.kb-header-logo .hc-nav__tag {
  font-size: 13px !important;
  color: rgba(250,246,242,.50) !important;
  font-weight: 400 !important;
  padding-left: 10px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  margin-left: 2px !important;
}
/* Right-hand nav items */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-left: auto !important;
  background: transparent !important;
}
.kb-header-nav .hc-nav__link {
  font-size: 14px !important;
  color: rgba(250,246,242,.70) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 150ms !important;
}
.kb-header-nav .hc-nav__link:hover { color: #FAF6F2 !important; }
/* Build Decks button */
.kb-header-nav .hc-btn--primary {
  background: var(--kafe-700) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.kb-header-nav .hc-btn--primary:hover { background: var(--kafe-500) !important; }
/* Auth + locale widgets */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
}
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
  .kb-header-nav .hc-nav__link,
  .kb-header-nav .hc-btn--primary { display: none !important; }
  .kb-header-nav .hc-btn--primary:last-of-type { display: flex !important; }
}
/* Mobile nav panel */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 16px 24px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 6px 0 !important;
}
/* Search wrapper */
.hc-nav__search {
  flex: 1 !important;
  max-width: 380px !important;
  position: relative !important;
}
.hc-nav__search::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important; top: 50% !important; transform: translateY(-50%) !important;
  width: 16px !important; height: 16px !important;
  pointer-events: none !important; z-index: 2 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: center !important;
}
.hc-nav__search #kb-search { width: 100% !important; overflow: hidden !important; }
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input[type="text"],
.hc-nav__search input {
  width: 100% !important;
  height: 38px !important;
  padding: 0 14px 0 36px !important;
  border: 1px solid rgba(250,246,242,.18) !important;
  border-radius: 10px !important;
  background: rgba(250,246,242,.08) !important;
  color: #FAF6F2 !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.40) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: rgba(250,246,242,.40) !important;
  background: rgba(250,246,242,.12) !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   4. NAVBAR  (shared partial)
   ========================================================================== */
.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,246,245,.82);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border-subtle);
}
.hc-nav__inner {
  max-width: var(--container); margin: 0 auto; height: var(--header-h);
  padding: 0 var(--space-6); display: flex; align-items: center; gap: var(--space-6);
}
.hc-nav__brand { display: flex; align-items: center; gap: var(--space-3); flex: none; }
.hc-wordmark { font-size: 24px; font-weight: 600; letter-spacing: -0.03em; color: var(--kafe-700); line-height: 1; }
.hc-nav__tag {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  padding-left: var(--space-3); border-left: 1px solid var(--border-default); letter-spacing: -0.01em;
}
.hc-nav__search { flex: 1; max-width: 420px; position: relative; }
.hc-nav__search .hc-icon {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--text-faint); width: 18px; height: 18px;
}
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search input::placeholder { color: var(--text-faint); }
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-nav__links { display: flex; align-items: center; gap: var(--space-5); margin-left: auto; }
.hc-nav__link {
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  color: var(--text-muted); transition: color 140ms;
}
.hc-nav__link:hover { color: var(--text-strong); }
.hc-nav__link.is-active { color: var(--text-strong); }
.hc-nav__toggle {
  display: none; width: 40px; height: 40px; align-items: center; justify-content: center;
  background: transparent; border: 1px solid var(--border-default); border-radius: var(--radius-md);
  color: var(--text-body); cursor: pointer; margin-left: auto;
}
.hc-nav__mobile { display: none; }

/* ============================================================================
   5. FOOTER  (shared partial)
   ========================================================================== */
.hc-footer { background: var(--surface-inverse); color: var(--kafe-100); margin-top: var(--space-9); }
.hc-footer__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6) var(--space-7); }
.hc-footer__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-7); flex-wrap: wrap; }
.hc-footer__brand { max-width: 320px; }
.hc-footer__brand .hc-wordmark { color: var(--kafe-100); font-size: 30px; }
.hc-footer__tagline { font-size: var(--text-sm); color: var(--kafe-300); margin-top: var(--space-3); line-height: 1.5; }
.hc-footer__cols { display: flex; gap: var(--space-8); flex-wrap: wrap; }
.hc-footer__col { display: flex; flex-direction: column; gap: var(--space-3); }
.hc-footer__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--kafe-300); margin-bottom: var(--space-1);
}
.hc-footer__col a { font-size: var(--text-sm); color: var(--masala-200); transition: color 140ms; }
.hc-footer__col a:hover { color: var(--white); }
.hc-footer__bar {
  border-top: 1px solid rgba(250,246,242,.12); margin-top: var(--space-7); padding-top: var(--space-5);
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-4);
  font-size: var(--text-xs); color: var(--kafe-300); flex-wrap: wrap;
}
.hc-footer__bar a { color: var(--kafe-300); }
.hc-footer__bar a:hover { color: var(--white); }
.hc-footer__legal { display: flex; gap: var(--space-5); }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-nav { background: rgba(39,20,15,.82); border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Draw the search glyph as a pseudo-element on the wrapper, so we never depend
   on (or duplicate) whatever icon Pylon injects. */
.hc-nav__search, .hc-search { position: relative; }
.hc-nav__search::before, .hc-search::before {
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  background-repeat: no-repeat; background-position: center; pointer-events: none; z-index: 2;
}
.hc-nav__search::before {
  left: 12px; width: 18px; height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.hc-search::before {
  left: 22px; width: 22px; height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */

/* 1. Navbar glass effect — opaque dark glass matching image 4 reference */
.hc-nav {
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PATCH 2 — Pylon kb-header / kb-footer class bridging
   The navbar and footer use Pylon's required kb-header/kb-footer wrappers
   so platform injection (auth, locale, logo) works. These rules ensure
   those wrappers inherit the Dusk nav and footer design exactly.
   ========================================================================== */

/* Bridge kb-header → hc-nav visual identity */
.kb-header { all: unset; display: block; }
.kb-header.hc-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(27, 12, 8, 0.88) !important;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(250,246,242,.10);
}
/* Pylon adds its own padding to kb-header-inner; override so our layout wins */
.kb-header-inner.hc-nav__inner {
  max-width: 1200px !important; margin: 0 auto !important;
  height: 64px !important; padding: 0 32px !important;
  display: flex !important; align-items: center !important; gap: 24px !important;
}
/* Logo area */
.kb-header-logo.hc-nav__brand {
  display: flex !important; align-items: center !important;
  gap: 12px !important; flex: none !important; text-decoration: none !important;
}
/* Pylon injects its own logo img — hide it; we show the wordmark text instead */
.kb-header-logo.hc-nav__brand img { display: none !important; }
/* Right-side nav */
.kb-header-nav.hc-nav__links {
  display: flex !important; align-items: center !important;
  gap: 20px !important; margin-left: auto !important;
}
/* Auth + locale widgets — shrink to fit */
#kb-auth, #kb-locale { display: flex; align-items: center; }
/* Mobile nav */
.kb-header-mobile-nav.hc-nav__mobile {
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
  padding: 16px !important; display: none; flex-direction: column; gap: 8px;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }

/* Bridge kb-footer → hc-footer visual identity */
.kb-footer.hc-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 96px;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; }
/* Pylon may inject kb-footer-bottom with its own logo/powered-by — hide those */
.kb-footer-bottom a.kb-footer-logo { display: none !important; }
.kb-powered-by { display: none !important; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon { width: 26px; height: 26px; }
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted); padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
}
.hc-toc__list a:hover { color: var(--text-strong); }
.hc-toc__list a.is-active { color: var(--text-brand); border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Pylon's injected input inherits the design input styling (navbar) */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100%; height: 38px; padding: 0 14px 0 38px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-sm); color: var(--text-strong); outline: none;
  transition: box-shadow 160ms, border-color 160ms;
}
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-2xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(27, 12, 8, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(250,246,242,.10) !important;
  font-family: var(--font-sans) !important;
  /* Reset anything Pylon sets on the root element */
  color: var(--kafe-100) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo area — hide Pylon's injected img, show our wordmark */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img { display: none !important; }
.kb-header-logo .hc-wordmark {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.01em !important;
}
.kb-header-logo .hc-nav__tag {
  font-size: 13px !important;
  color: rgba(250,246,242,.50) !important;
  font-weight: 400 !important;
  padding-left: 10px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  margin-left: 2px !important;
}
/* Right-hand nav items */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-left: auto !important;
  background: transparent !important;
}
.kb-header-nav .hc-nav__link {
  font-size: 14px !important;
  color: rgba(250,246,242,.70) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 150ms !important;
}
.kb-header-nav .hc-nav__link:hover { color: #FAF6F2 !important; }
/* Build Decks button */
.kb-header-nav .hc-btn--primary {
  background: var(--kafe-700) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.kb-header-nav .hc-btn--primary:hover { background: var(--kafe-500) !important; }
/* Auth + locale widgets */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
}
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
  .kb-header-nav .hc-nav__link,
  .kb-header-nav .hc-btn--primary { display: none !important; }
  .kb-header-nav .hc-btn--primary:last-of-type { display: flex !important; }
}
/* Mobile nav panel */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 16px 24px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 6px 0 !important;
}
/* Search wrapper */
.hc-nav__search {
  flex: 1 !important;
  max-width: 380px !important;
  position: relative !important;
}
.hc-nav__search::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important; top: 50% !important; transform: translateY(-50%) !important;
  width: 16px !important; height: 16px !important;
  pointer-events: none !important; z-index: 2 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: center !important;
}
.hc-nav__search #kb-search { width: 100% !important; overflow: hidden !important; }
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input[type="text"],
.hc-nav__search input {
  width: 100% !important;
  height: 38px !important;
  padding: 0 14px 0 36px !important;
  border: 1px solid rgba(250,246,242,.18) !important;
  border-radius: 10px !important;
  background: rgba(250,246,242,.08) !important;
  color: #FAF6F2 !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.40) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: rgba(250,246,242,.40) !important;
  background: rgba(250,246,242,.12) !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

<style>
:root {
  {{if .Org.BrandColorHex}}--primaryColor: {{.Org.BrandColorHex}};{{end}}
  {{if .KB.TextLinkColorHex}}--text-link-color: {{.KB.TextLinkColorHex}};{{end}}
}
</style>
<div class="kb-header">
  <div class="kb-header-inner">
    <a href="/" class="kb-header-logo">
      {{if and .KB.LogoDarkURL .KB.LogoURL}}
        <img class="kb-logo-default" src="{{.KB.LogoURL}}" alt="{{.KB.Title}}" />
        <img class="kb-logo-bright" src="{{.KB.LogoDarkURL}}" alt="{{.KB.Title}}" />
      {{else if .KB.LogoURL}}
        <img src="{{.KB.LogoURL}}" alt="{{.KB.Title}}" />
      {{end}}
      <span class="kb-header-title">Help Center</span>
    </a>
    <div class="kb-header-nav">
      {{range .KB.Links}}
      <a class="kb-header-link" href="{{.URL}}" target="_blank" rel="noreferrer">{{.Label}}</a>
      {{end}}
      <div id="kb-locale"></div>
      <div id="kb-auth"></div>
      {{if .KB.Links}}<button class="kb-header-hamburger" onclick="this.closest('.kb-header').classList.toggle('kb-header--menu-open')" aria-label="Menu"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg></button>{{end}}
    </div>
  </div>
  {{if .KB.Links}}<div class="kb-header-mobile-nav">
    {{range .KB.Links}}
    <a class="kb-header-mobile-link" href="{{.URL}}" target="_blank" rel="noreferrer">{{.Label}}</a>
    {{end}}
  </div>{{end}}
</div>

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 22px !important; height: 22px !important;
  max-width: 22px !important; max-height: 22px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none;
}
.hc-toc__list a:hover { color: var(--text-strong) !important; }
.hc-toc__list a.is-active { color: var(--text-brand) !important; border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-400) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.35) !important;
  outline: 2px solid var(--masala-300) !important;
  outline-offset: 0 !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(27, 12, 8, 0.92) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(250,246,242,.10) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
}
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 22px !important; height: 22px !important;
  max-width: 22px !important; max-height: 22px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--text-muted) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none;
}
.hc-toc__list a:hover { color: var(--text-strong) !important; }
.hc-toc__list a.is-active { color: var(--text-brand) !important; border-left-color: var(--kafe-700); font-weight: 600; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-400) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.35) !important;
  outline: 2px solid var(--masala-300) !important;
  outline-offset: 0 !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — 3 sizes smaller, stroke thinner */
.hc-card__icon { width: 36px; height: 36px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 16px !important; height: 16px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(27, 12, 8, 0.55) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 9px 18px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Constrain it so it
   renders as a small avatar instead of a full-size image tile. */
#kb-auth img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  font-size: 13px !important;
  color: rgba(250,246,242,.70) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 8px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
#kb-auth > * { max-height: 40px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-400) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.35) !important;
  outline: 2px solid var(--masala-300) !important;
  outline-offset: 0 !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(45, 28, 22, 0.82) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 2. Giant search icon fix — suppress any SVG Pylon injects directly inside
      #kb-search (not our pseudo-element icon, which sits on the wrapper).
      Also clamp the mount div itself so it cannot grow beyond its wrapper. */
#kb-search > svg,
#kb-search svg:not(.hc-icon) {
  display: none !important;
}
#kb-search {
  max-width: 100%;
  overflow: hidden;
}
/* Kill any full-viewport SVG Pylon drops at body level */
body > svg { display: none !important; }

/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(33, 19, 13, 0.88) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(33, 19, 13, 0.88) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: var(--space-8) 0; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(33, 19, 13, 0.88) !important;
  backdrop-filter: blur(20px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 80px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }


.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }



/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }


.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }
/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 36px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: rgba(77, 60, 56, 0.72) !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

<script>
/* ============================================================================
   HENRY AI — HELP CENTER  ·  scripts
   Plain vanilla JS. No framework, no build step. Every behavior is
   feature-detected, so a page that lacks a given widget simply skips it.

   NOTE: Pylon's Scripts field renders its contents into the page as-is, so the
   surrounding <script> tags are intentional and required.
   ========================================================================== */
(function () {
  "use strict";

  /* --- 0. Theme bootstrap ---------------------------------------------------
     theme-dusk is the site-wide default. is-whatsnew is added only on the
     What's New collection feed and its release-note articles. We detect those
     by looking for the markers the templates render (.hc-wn-feed / .hc-wn-hero
     with a release head, or a body data attribute Pylon doesn't control). */
  function initTheme() {
    var b = document.body;
    if (!b.classList.contains("theme-dusk")) b.classList.add("theme-dusk");

    var isWhatsNew =
      document.querySelector(".hc-wn-feed") ||              // changelog feed
      document.querySelector(".hc-release-head") ||         // release note
      document.querySelector(".hc-wn-hero");                // either WN hero
    if (isWhatsNew) b.classList.add("is-whatsnew");

    // Homepage has the big hero search; flag it so the navbar search can hide
    // and Pylon mounts its widget into the hero search instead of the navbar.
    if (document.querySelector(".hc-hero")) b.classList.add("is-home");
  }

  /* --- 1. Mobile nav toggle ------------------------------------------------ */
  function initMobileNav() {
    document.querySelectorAll("[data-nav-toggle]").forEach(function (toggle) {
      var header = toggle.closest(".hc-nav");
      var panel = header ? header.querySelector("[data-nav-mobile]") : null;
      if (!panel) return;
      toggle.addEventListener("click", function () {
        var open = panel.classList.toggle("is-open");
        toggle.setAttribute("aria-expanded", open ? "true" : "false");
      });
    });
  }

  /* --- 2. "Was this helpful?" feedback ------------------------------------- */
  function initHelpful() {
    document.querySelectorAll("[data-helpful]").forEach(function (block) {
      block.querySelectorAll("[data-helpful-btn]").forEach(function (btn) {
        btn.addEventListener("click", function () { block.classList.add("is-done"); });
      });
    });
  }

  /* --- 3. Article "On this page" — build + scroll-spy ----------------------
     Pylon's {{.TOC}} pre-fills the list. If it's empty (no headings with ids),
     fall back to scanning rendered <h2 id> in the prose. Exactly ONE link is
     marked active at a time, based on which heading is nearest the top. */
  function initTOC() {
    var toc = document.querySelector("[data-toc]");
    var prose = document.querySelector("[data-prose]");
    if (!toc || !prose) return;

    if (!toc.children.length) {
      prose.querySelectorAll("h2[id], h3[id]").forEach(function (h) {
        var a = document.createElement("a");
        a.href = "#" + h.id; a.textContent = h.textContent;
        toc.appendChild(a);
      });
    }

    var links = Array.prototype.slice.call(toc.querySelectorAll("a"));
    if (!links.length) { var wrap = toc.closest(".hc-toc"); if (wrap) wrap.style.display = "none"; return; }

    // Resolve each TOC link to an actual heading element in the prose.
    // First try the href id; if that fails, match by trimmed text content.
    var headings = Array.prototype.slice.call(
      prose.querySelectorAll("h1[id], h2[id], h3[id], h1, h2, h3")
    );
    function normalize(s) { return (s || "").replace(/\s+/g, " ").trim().toLowerCase(); }

    var targets = [];  // { link, el }
    links.forEach(function (l) {
      l.classList.remove("is-active");
      var el = null;
      var href = l.getAttribute("href") || "";
      if (href.charAt(0) === "#" && href.length > 1) {
        try { el = document.getElementById(decodeURIComponent(href.slice(1))); } catch (e) { el = null; }
      }
      if (!el) {
        var want = normalize(l.textContent);
        for (var i = 0; i < headings.length; i++) {
          if (normalize(headings[i].textContent) === want) { el = headings[i]; break; }
        }
      }
      if (el) targets.push({ link: l, el: el });
    });

    if (!targets.length) return;  // nothing resolvable; leave links neutral

    // Give each resolved heading a stable id, point its link at it, and handle
    // clicks with a smooth scroll that clears the sticky header. Without this,
    // Pylon's TOC links are all href="#" and jump to the top of the page.
    var HEADER_OFFSET = 96;
    function slugify(s) {
      return (s || "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "section";
    }
    var usedIds = {};
    targets.forEach(function (t) {
      var id = t.el.id;
      if (!id) {
        id = slugify(t.el.textContent);
        while (usedIds[id] || document.getElementById(id)) { id = id + "-x"; }
        t.el.id = id;
      }
      usedIds[id] = true;
      t.link.setAttribute("href", "#" + id);
    });

    targets.forEach(function (t) {
      t.link.addEventListener("click", function (e) {
        e.preventDefault();
        var y = t.el.getBoundingClientRect().top + window.scrollY - HEADER_OFFSET;
        window.scrollTo({ top: y, behavior: "smooth" });
        if (history.replaceState) history.replaceState(null, "", "#" + t.el.id);
        setActive(t.link);
      });
    });

    function setActive(link) {
      links.forEach(function (l) { l.classList.toggle("is-active", l === link); });
    }

    function currentSection() {
      var offset = 110;  // sticky header + breathing room
      var best = targets[0], bestTop = -Infinity;
      for (var i = 0; i < targets.length; i++) {
        var top = targets[i].el.getBoundingClientRect().top - offset;
        if (top <= 0 && top > bestTop) { bestTop = top; best = targets[i]; }
      }
      // If we've scrolled past the bottom, keep the last section active
      var docBottom = window.innerHeight + window.scrollY >= document.body.scrollHeight - 4;
      if (docBottom) best = targets[targets.length - 1];
      return best.link;
    }

    var ticking = false;
    function onScroll() {
      if (ticking) return;
      ticking = true;
      window.requestAnimationFrame(function () {
        setActive(currentSection());
        ticking = false;
      });
    }
    window.addEventListener("scroll", onScroll, { passive: true });
    setActive(currentSection());
  }

  /* --- 3b. Article read time — Pylon exposes no word count, so compute it
     from the rendered prose text. ~220 wpm, min 1 min. */
  function initReadTime() {
    var prose = document.querySelector("[data-prose]");
    var wrap = document.querySelector("[data-readtime]");
    var textEl = document.querySelector("[data-readtime-text]");
    var dot = document.querySelector("[data-readtime-dot]");
    if (!prose || !wrap || !textEl) return;
    var words = (prose.innerText || prose.textContent || "").trim().split(/\s+/).filter(Boolean).length;
    if (!words) return;
    var mins = Math.max(1, Math.round(words / 220));
    textEl.textContent = mins + " min read";
    wrap.hidden = false;
    if (dot) dot.hidden = false;
  }

  /* --- What's New filter tabs ---------------------------------------------
     On the changelog article, clicking a tab (All / Features / Improvements /
     Fixes) shows only matching entries and re-hides the connector line on the
     last visible entry so the timeline stays clean. */
  function initWhatsNewFilter() {
    var tabs = document.querySelectorAll("[data-wn-tab]");
    var entries = document.querySelectorAll("[data-wn-type]");
    if (!tabs.length || !entries.length) return;

    function relinkTimeline() {
      var shown = [];
      entries.forEach(function (el) { if (el.style.display !== "none") shown.push(el); });
      entries.forEach(function (el) {
        var line = el.querySelector(".hc-wn-entry__line");
        if (line) line.style.display = "";
      });
      if (shown.length) {
        var lastLine = shown[shown.length - 1].querySelector(".hc-wn-entry__line");
        if (lastLine) lastLine.style.display = "none";
      }
    }

    tabs.forEach(function (tab) {
      tab.addEventListener("click", function () {
        var filter = tab.getAttribute("data-wn-tab");
        tabs.forEach(function (t) { t.classList.toggle("is-active", t === tab); });
        entries.forEach(function (el) {
          var match = filter === "all" || el.getAttribute("data-wn-type") === filter;
          el.style.display = match ? "" : "none";
        });
        relinkTimeline();
      });
    });
    relinkTimeline();
  }

  /* --- boot ---------------------------------------------------------------- */
  function boot() {
    initTheme();
    initMobileNav();
    initHelpful();
    initTOC();
    initReadTime();
    initWhatsNewFilter();
  }
  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", boot);
  } else {
    boot();
  }
})();
</script>

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; max-width: 600px; }
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 600px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
/* Loom / video iframe — responsive 16:9 */
.hc-wn-card__media iframe {
  display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0;
}
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

<script>
/* ============================================================================
   HENRY AI — HELP CENTER  ·  scripts
   Plain vanilla JS. No framework, no build step. Every behavior is
   feature-detected, so a page that lacks a given widget simply skips it.

   NOTE: Pylon's Scripts field renders its contents into the page as-is, so the
   surrounding <script> tags are intentional and required.
   ========================================================================== */
(function () {
  "use strict";

  /* --- 0. Theme bootstrap ---------------------------------------------------
     theme-dusk is the site-wide default. is-whatsnew is added only on the
     What's New collection feed and its release-note articles. We detect those
     by looking for the markers the templates render (.hc-wn-feed / .hc-wn-hero
     with a release head, or a body data attribute Pylon doesn't control). */
  function initTheme() {
    var b = document.body;
    if (!b.classList.contains("theme-dusk")) b.classList.add("theme-dusk");

    var isWhatsNew =
      document.querySelector(".hc-wn-feed") ||              // changelog feed
      document.querySelector(".hc-release-head") ||         // release note
      document.querySelector(".hc-wn-hero");                // either WN hero
    if (isWhatsNew) b.classList.add("is-whatsnew");

    // Homepage has the big hero search; flag it so the navbar search can hide
    // and Pylon mounts its widget into the hero search instead of the navbar.
    if (document.querySelector(".hc-hero")) b.classList.add("is-home");
  }

  /* --- 1. Mobile nav toggle ------------------------------------------------ */
  function initMobileNav() {
    document.querySelectorAll("[data-nav-toggle]").forEach(function (toggle) {
      var header = toggle.closest(".hc-nav");
      var panel = header ? header.querySelector("[data-nav-mobile]") : null;
      if (!panel) return;
      toggle.addEventListener("click", function () {
        var open = panel.classList.toggle("is-open");
        toggle.setAttribute("aria-expanded", open ? "true" : "false");
      });
    });
  }

  /* --- 2. "Was this helpful?" feedback ------------------------------------- */
  function initHelpful() {
    document.querySelectorAll("[data-helpful]").forEach(function (block) {
      block.querySelectorAll("[data-helpful-btn]").forEach(function (btn) {
        btn.addEventListener("click", function () { block.classList.add("is-done"); });
      });
    });
  }

  /* --- 3. Article "On this page" — build + scroll-spy ----------------------
     Pylon's {{.TOC}} pre-fills the list. If it's empty (no headings with ids),
     fall back to scanning rendered <h2 id> in the prose. Exactly ONE link is
     marked active at a time, based on which heading is nearest the top. */
  function initTOC() {
    var toc = document.querySelector("[data-toc]");
    var prose = document.querySelector("[data-prose]");
    if (!toc || !prose) return;

    if (!toc.children.length) {
      prose.querySelectorAll("h2[id], h3[id]").forEach(function (h) {
        var a = document.createElement("a");
        a.href = "#" + h.id; a.textContent = h.textContent;
        toc.appendChild(a);
      });
    }

    var links = Array.prototype.slice.call(toc.querySelectorAll("a"));
    if (!links.length) { var wrap = toc.closest(".hc-toc"); if (wrap) wrap.style.display = "none"; return; }

    // Resolve each TOC link to an actual heading element in the prose.
    // First try the href id; if that fails, match by trimmed text content.
    var headings = Array.prototype.slice.call(
      prose.querySelectorAll("h1[id], h2[id], h3[id], h1, h2, h3")
    );
    function normalize(s) { return (s || "").replace(/\s+/g, " ").trim().toLowerCase(); }

    var targets = [];  // { link, el }
    links.forEach(function (l) {
      l.classList.remove("is-active");
      var el = null;
      var href = l.getAttribute("href") || "";
      if (href.charAt(0) === "#" && href.length > 1) {
        try { el = document.getElementById(decodeURIComponent(href.slice(1))); } catch (e) { el = null; }
      }
      if (!el) {
        var want = normalize(l.textContent);
        for (var i = 0; i < headings.length; i++) {
          if (normalize(headings[i].textContent) === want) { el = headings[i]; break; }
        }
      }
      if (el) targets.push({ link: l, el: el });
    });

    if (!targets.length) return;  // nothing resolvable; leave links neutral

    // Give each resolved heading a stable id, point its link at it, and handle
    // clicks with a smooth scroll that clears the sticky header. Without this,
    // Pylon's TOC links are all href="#" and jump to the top of the page.
    var HEADER_OFFSET = 96;
    function slugify(s) {
      return (s || "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "section";
    }
    var usedIds = {};
    targets.forEach(function (t) {
      var id = t.el.id;
      if (!id) {
        id = slugify(t.el.textContent);
        while (usedIds[id] || document.getElementById(id)) { id = id + "-x"; }
        t.el.id = id;
      }
      usedIds[id] = true;
      t.link.setAttribute("href", "#" + id);
    });

    targets.forEach(function (t) {
      t.link.addEventListener("click", function (e) {
        e.preventDefault();
        var y = t.el.getBoundingClientRect().top + window.scrollY - HEADER_OFFSET;
        window.scrollTo({ top: y, behavior: "smooth" });
        if (history.replaceState) history.replaceState(null, "", "#" + t.el.id);
        setActive(t.link);
      });
    });

    function setActive(link) {
      links.forEach(function (l) { l.classList.toggle("is-active", l === link); });
    }

    function currentSection() {
      var offset = 110;  // sticky header + breathing room
      var best = targets[0], bestTop = -Infinity;
      for (var i = 0; i < targets.length; i++) {
        var top = targets[i].el.getBoundingClientRect().top - offset;
        if (top <= 0 && top > bestTop) { bestTop = top; best = targets[i]; }
      }
      // If we've scrolled past the bottom, keep the last section active
      var docBottom = window.innerHeight + window.scrollY >= document.body.scrollHeight - 4;
      if (docBottom) best = targets[targets.length - 1];
      return best.link;
    }

    var ticking = false;
    function onScroll() {
      if (ticking) return;
      ticking = true;
      window.requestAnimationFrame(function () {
        setActive(currentSection());
        ticking = false;
      });
    }
    window.addEventListener("scroll", onScroll, { passive: true });
    setActive(currentSection());
  }

  /* --- 3b. Article read time — Pylon exposes no word count, so compute it
     from the rendered prose text. ~220 wpm, min 1 min. */
  function initReadTime() {
    var prose = document.querySelector("[data-prose]");
    var wrap = document.querySelector("[data-readtime]");
    var textEl = document.querySelector("[data-readtime-text]");
    var dot = document.querySelector("[data-readtime-dot]");
    if (!prose || !wrap || !textEl) return;
    var words = (prose.innerText || prose.textContent || "").trim().split(/\s+/).filter(Boolean).length;
    if (!words) return;
    var mins = Math.max(1, Math.round(words / 220));
    textEl.textContent = mins + " min read";
    wrap.hidden = false;
    if (dot) dot.hidden = false;
  }

  /* --- What's New filter tabs ---------------------------------------------
     On the changelog article, clicking a tab (All / Features / Improvements /
     Fixes) shows only matching entries and re-hides the connector line on the
     last visible entry so the timeline stays clean. */
  /* --- Header glass-on-scroll -------------------------------------------------
     Header is solid #4d3c38 at the top of the page; once the user scrolls past
     a small threshold it gains .is-scrolled, switching to the translucent
     frosted-glass background (CSS handles the look + transition). */
  function initHeaderScroll() {
    var header = document.querySelector(".kb-header");
    if (!header) return;
    var threshold = 8;
    var ticking = false;
    function update() {
      header.classList.toggle("is-scrolled", window.scrollY > threshold);
      ticking = false;
    }
    window.addEventListener("scroll", function () {
      if (!ticking) { ticking = true; window.requestAnimationFrame(update); }
    }, { passive: true });
    update();
  }

  function initWhatsNewFilter() {
    var entries = document.querySelectorAll("[data-wn-type]");
    if (!entries.length) return;
    var tabs = document.querySelectorAll("[data-wn-tab]");
    var monthSelect = document.querySelector("[data-wn-month-select]");

    var typeFilter = "all";
    var monthFilter = "all";

    function relinkTimeline() {
      var shown = [];
      entries.forEach(function (el) { if (el.style.display !== "none") shown.push(el); });
      entries.forEach(function (el) {
        var line = el.querySelector(".hc-wn-entry__line");
        if (line) line.style.display = "";
      });
      if (shown.length) {
        var lastLine = shown[shown.length - 1].querySelector(".hc-wn-entry__line");
        if (lastLine) lastLine.style.display = "none";
      }
    }

    function applyFilters() {
      entries.forEach(function (el) {
        var typeOk = typeFilter === "all" || el.getAttribute("data-wn-type") === typeFilter;
        var monthOk = monthFilter === "all" || el.getAttribute("data-wn-month") === monthFilter;
        el.style.display = (typeOk && monthOk) ? "" : "none";
      });
      relinkTimeline();
    }

    // Type tabs
    tabs.forEach(function (tab) {
      tab.addEventListener("click", function () {
        typeFilter = tab.getAttribute("data-wn-tab");
        tabs.forEach(function (t) { t.classList.toggle("is-active", t === tab); });
        applyFilters();
      });
    });

    // Month dropdown
    if (monthSelect) {
      monthSelect.addEventListener("change", function () {
        monthFilter = monthSelect.value;
        applyFilters();
      });
    }

    // Click-to-expand cards. Cards with [data-has-video] toggle .is-expanded,
    // which reveals the video. The Loom iframe is lazy-loaded (src set from
    // data-loom) the first time the card opens, so collapsed cards stay fast.
    var videoCards = document.querySelectorAll(".hc-wn-card[data-has-video]");
    videoCards.forEach(function (card) {
      card.addEventListener("click", function (e) {
        // don't toggle when clicking a link or the video itself
        if (e.target.closest("a") || e.target.closest("iframe")) return;
        var opening = !card.classList.contains("is-expanded");
        card.classList.toggle("is-expanded");
        if (opening) {
          var frame = card.querySelector(".hc-wn-card__media iframe[data-loom]");
          if (frame && !frame.getAttribute("src")) {
            frame.setAttribute("src", frame.getAttribute("data-loom"));
          }
        }
      });
    });

    applyFilters();
  }

  /* --- boot ---------------------------------------------------------------- */
  function boot() {
    initTheme();
    initMobileNav();
    initHelpful();
    initTOC();
    initReadTime();
    initHeaderScroll();
    initWhatsNewFilter();
  }
  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", boot);
  } else {
    boot();
  }
})();
</script>

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; }

/* Card footer — "Read the release note" link + "Watch video" button */
.hc-wn-card__foot {
  margin-top: var(--space-5); padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
}
.hc-wn-card__readmore {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-brand);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-wn-card__readmore:hover { color: var(--brand-active); }

/* Watch video button */
.hc-wn-video-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-size: var(--text-sm); font-weight: 600; color: var(--kafe-700); cursor: pointer;
  border: 1px solid var(--kafe-400); background: var(--kafe-100);
  border-radius: var(--radius-md); padding: 5px 12px;
  font-family: var(--font-sans); transition: color 140ms, border-color 140ms, background 140ms;
}
.hc-wn-video-btn:hover { color: var(--kafe-800); border-color: var(--kafe-600); background: var(--kafe-200); }
.hc-wn-video-btn .hc-icon { width: 15px; height: 15px; flex: none; }

/* Expanding video container — collapsed by default */
.hc-wn-video { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 380ms var(--ease-out), opacity 280ms; }
.hc-wn-video.is-open { max-height: 1200px; opacity: 1; }
.hc-wn-video__inner {
  margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden;
  background: linear-gradient(135deg, var(--masala-900) 0%, #1a0a06 100%);
  aspect-ratio: 16/9;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); cursor: pointer;
}
.hc-wn-video__play-ring {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  transition: background 160ms, transform 160ms;
}
.hc-wn-video__play-ring svg { width: 26px; height: 26px; fill: #fff; }
.hc-wn-video__inner:hover .hc-wn-video__play-ring { background: rgba(255,255,255,.20); transform: scale(1.06); }
.hc-wn-video__hint {
  font-size: var(--text-xs); color: rgba(255,255,255,.35);
  font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.06em; text-transform: uppercase;
}
/* When a real Loom iframe is present, it fills the inner and replaces the placeholder */
.hc-wn-video__inner iframe { width: 100%; height: 100%; border: 0; aspect-ratio: 16/9; }
.hc-wn-video__inner.has-loom { background: #000; padding: 0; }
.hc-wn-video__inner.has-loom .hc-wn-video__play-ring,
.hc-wn-video__inner.has-loom .hc-wn-video__hint { display: none; }

/* Legacy image media (kept for entries that use a static image) */
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 720px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ----------------------------------------------------------------------------
   What's New — controls row: type tabs (left) + month filter dropdown (right)
   -------------------------------------------------------------------------- */
.hc-wn-controls {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-5); flex-wrap: wrap;
}
.hc-wn-controls .hc-wn-tabs { margin-top: 0; flex: 1 1 auto; }

/* Custom month dropdown */
.hc-wn-filter { position: relative; display: inline-flex; flex: 0 0 auto; padding-bottom: var(--space-3); }
.hc-wn-filter__btn {
  display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans); font-size: var(--text-sm);
  font-weight: 600; color: var(--text-strong); cursor: pointer; white-space: nowrap;
  transition: border-color 140ms, box-shadow 140ms;
}
.hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.hc-wn-filter__btn .hc-icon { width: 16px; height: 16px; }
.hc-wn-filter__chevron { transition: transform 180ms var(--ease-out); }
.hc-wn-filter.is-open .hc-wn-filter__chevron { transform: rotate(180deg); }

.hc-wn-filter__menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 236px; z-index: 300;
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding: 6px; opacity: 0; pointer-events: none;
  transform: translateY(-6px); transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.hc-wn-filter.is-open .hc-wn-filter__menu { opacity: 1; pointer-events: all; transform: translateY(0); }

.hc-wn-filter__option {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border: none; background: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-sm); color: var(--text-strong);
  border-radius: 8px; text-align: left; transition: background 120ms;
}
.hc-wn-filter__option:hover { background: var(--masala-50); }
.hc-wn-filter__check {
  width: 18px; height: 18px; flex: none; border: 1.5px solid var(--border-default);
  border-radius: 5px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 120ms, border-color 120ms;
}
.hc-wn-filter__check svg { width: 12px; height: 12px; color: #fff; opacity: 0; }
.hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-700); border-color: var(--kafe-700); }
.hc-wn-filter__option.is-selected .hc-wn-filter__check svg { opacity: 1; }
.hc-wn-filter__option-label { flex: 1 1 auto; }
.hc-wn-filter__option-count { font-size: var(--text-xs); color: var(--text-faint); }

/* Dusk (dark) variants on the What's New page */
.theme-dusk.is-whatsnew .hc-wn-filter__btn {
  background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.theme-dusk.is-whatsnew .hc-wn-filter__menu { background: var(--kafe-900); border-color: rgba(250,246,242,.14); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.theme-dusk.is-whatsnew .hc-wn-filter__option { color: var(--kafe-100); }
.theme-dusk.is-whatsnew .hc-wn-filter__option:hover { background: rgba(255,255,255,.06); }
.theme-dusk.is-whatsnew .hc-wn-filter__check { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.25); }
.theme-dusk.is-whatsnew .hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-500); border-color: var(--kafe-500); }

@media (max-width: 700px) {
  .hc-wn-controls { align-items: stretch; }
  .hc-wn-filter { padding-bottom: 0; width: 100%; }
  .hc-wn-filter__btn { width: 100%; justify-content: space-between; }
  .hc-wn-filter__menu { left: 0; right: 0; }
}
/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; }

/* Card footer — "Read the release note" link + "Watch video" button */
.hc-wn-card__foot {
  margin-top: var(--space-5); padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
}
.hc-wn-card__readmore {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-brand);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-wn-card__readmore:hover { color: var(--brand-active); }

/* Watch video button */
.hc-wn-video-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-size: var(--text-sm); font-weight: 600; color: var(--kafe-700); cursor: pointer;
  border: 1px solid var(--kafe-400); background: var(--kafe-100);
  border-radius: var(--radius-md); padding: 5px 12px;
  font-family: var(--font-sans); transition: color 140ms, border-color 140ms, background 140ms;
}
.hc-wn-video-btn:hover { color: var(--kafe-800); border-color: var(--kafe-600); background: var(--kafe-200); }
.hc-wn-video-btn .hc-icon { width: 15px; height: 15px; flex: none; }

/* Expanding video container — collapsed by default */
.hc-wn-video { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 380ms var(--ease-out), opacity 280ms; }
.hc-wn-video.is-open { max-height: 1200px; opacity: 1; }
.hc-wn-video__inner {
  margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden;
  background: linear-gradient(135deg, var(--masala-900) 0%, #1a0a06 100%);
  aspect-ratio: 16/9;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); cursor: pointer;
}
.hc-wn-video__play-ring {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  transition: background 160ms, transform 160ms;
}
.hc-wn-video__play-ring svg { width: 26px; height: 26px; fill: #fff; }
.hc-wn-video__inner:hover .hc-wn-video__play-ring { background: rgba(255,255,255,.20); transform: scale(1.06); }
.hc-wn-video__hint {
  font-size: var(--text-xs); color: rgba(255,255,255,.35);
  font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.06em; text-transform: uppercase;
}
/* When a real Loom iframe is present, it fills the inner and replaces the placeholder */
.hc-wn-video__inner iframe { width: 100%; height: 100%; border: 0; aspect-ratio: 16/9; }
.hc-wn-video__inner.has-loom { background: #000; padding: 0; }
.hc-wn-video__inner.has-loom .hc-wn-video__play-ring,
.hc-wn-video__inner.has-loom .hc-wn-video__hint { display: none; }

/* Legacy image media (kept for entries that use a static image) */
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 720px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ----------------------------------------------------------------------------
   What's New — controls row: type tabs (left) + month filter dropdown (right)
   -------------------------------------------------------------------------- */
.hc-wn-controls {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-5); flex-wrap: wrap;
}
.hc-wn-controls .hc-wn-tabs { margin-top: 0; flex: 1 1 auto; }

/* Custom month dropdown */
.hc-wn-filter { position: relative; display: inline-flex; flex: 0 0 auto; padding-bottom: var(--space-3); }
.hc-wn-filter__btn {
  display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans); font-size: var(--text-sm);
  font-weight: 600; color: var(--text-strong); cursor: pointer; white-space: nowrap;
  transition: border-color 140ms, box-shadow 140ms;
}
.hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.hc-wn-filter__btn .hc-icon { width: 16px; height: 16px; }
.hc-wn-filter__chevron { transition: transform 180ms var(--ease-out); }
.hc-wn-filter.is-open .hc-wn-filter__chevron { transform: rotate(180deg); }

.hc-wn-filter__menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 236px; z-index: 300;
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding: 6px; opacity: 0; pointer-events: none;
  transform: translateY(-6px); transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.hc-wn-filter.is-open .hc-wn-filter__menu { opacity: 1; pointer-events: all; transform: translateY(0); }

.hc-wn-filter__option {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border: none; background: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-sm); color: var(--text-strong);
  border-radius: 8px; text-align: left; transition: background 120ms;
}
.hc-wn-filter__option:hover { background: var(--masala-50); }
.hc-wn-filter__check {
  width: 18px; height: 18px; flex: none; border: 1.5px solid var(--border-default);
  border-radius: 5px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 120ms, border-color 120ms;
}
.hc-wn-filter__check svg { width: 12px; height: 12px; color: #fff; opacity: 0; }
.hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-700); border-color: var(--kafe-700); }
.hc-wn-filter__option.is-selected .hc-wn-filter__check svg { opacity: 1; }
.hc-wn-filter__option-label { flex: 1 1 auto; }
.hc-wn-filter__option-count { font-size: var(--text-xs); color: var(--text-faint); }

/* Dusk (dark) variants on the What's New page */
.theme-dusk.is-whatsnew .hc-wn-filter__btn {
  background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.theme-dusk.is-whatsnew .hc-wn-filter__menu { background: var(--kafe-900); border-color: rgba(250,246,242,.14); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.theme-dusk.is-whatsnew .hc-wn-filter__option { color: var(--kafe-100); }
.theme-dusk.is-whatsnew .hc-wn-filter__option:hover { background: rgba(255,255,255,.06); }
.theme-dusk.is-whatsnew .hc-wn-filter__check { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.25); }
.theme-dusk.is-whatsnew .hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-500); border-color: var(--kafe-500); }

@media (max-width: 700px) {
  .hc-wn-controls { align-items: stretch; }
  .hc-wn-filter { padding-bottom: 0; width: 100%; }
  .hc-wn-filter__btn { width: 100%; justify-content: space-between; }
  .hc-wn-filter__menu { left: 0; right: 0; }
}

/* ============================================================================
   PYLON RICH-TEXT BLOCKS — callouts + blockquotes
   Pylon's editor outputs these but ships no styling for them, so without these
   rules a callout renders as plain text and a blockquote has an invisible bar.
   Callouts carry data-color (blue/green/yellow/red/purple/gray) and data-icon.
   ========================================================================== */

/* --- Callout box --- */
.hc-prose [data-type="callout"] {
  position: relative; margin: var(--space-5) 0; padding: 16px 18px 16px 48px;
  border-radius: 12px; border: 1px solid var(--border-default);
  background: var(--surface-card); color: var(--text-body);
  font-size: 15px; line-height: 1.6;
}
.hc-prose [data-type="callout"] > :first-child { margin-top: 0; }
.hc-prose [data-type="callout"] > :last-child { margin-bottom: 0; }

/* Generic icon dot (used when a specific icon isn't mapped) */
.hc-prose [data-type="callout"]::before {
  content: ""; position: absolute; left: 17px; top: 18px; width: 20px; height: 20px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  /* default: lightbulb */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23752F18" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>');
}

/* Colour variants — soft tinted background + matching border + icon tint */
.hc-prose [data-type="callout"][data-color="blue"]   { background: #eef4fb; border-color: #cfe0f3; color: #1c3d5c; }
.hc-prose [data-type="callout"][data-color="blue"]::before   { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231c3d5c" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>'); }

.hc-prose [data-type="callout"][data-color="green"]  { background: #eef6ef; border-color: #cfe6d2; color: #1f4d2b; }
.hc-prose [data-type="callout"][data-color="green"]::before  { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231f4d2b" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="M22 4 12 14.01l-3-3"/></svg>'); }

.hc-prose [data-type="callout"][data-color="yellow"],
.hc-prose [data-type="callout"][data-color="orange"] { background: #fbf3e6; border-color: #f0ddbf; color: #6b4a17; }
.hc-prose [data-type="callout"][data-color="yellow"]::before,
.hc-prose [data-type="callout"][data-color="orange"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b4a17" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4M12 17h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="red"]    { background: #fbeeee; border-color: #f1cfcf; color: #6b1f1f; }
.hc-prose [data-type="callout"][data-color="red"]::before    { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b1f1f" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="purple"] { background: #f3eefb; border-color: #ddcff3; color: #422c66; }
.hc-prose [data-type="callout"][data-color="gray"],
.hc-prose [data-type="callout"][data-color="grey"]   { background: var(--masala-50); border-color: var(--border-default); color: var(--text-body); }

/* On the dusk (dark) pages, soften the callout so tints read on dark */
.theme-dusk.is-whatsnew .hc-prose [data-type="callout"] { background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }

/* --- Blockquote --- */
.hc-prose blockquote {
  margin: var(--space-5) 0; padding: 4px 0 4px 20px;
  border-left: 3px solid var(--kafe-700);
  color: var(--text-body); font-style: normal;
}
.hc-prose blockquote p:last-child { margin-bottom: 0; }
.theme-dusk.is-whatsnew .hc-prose blockquote { border-left-color: var(--kafe-300); }


/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; }

/* Card footer — "Read the release note" link + "Watch video" button */
.hc-wn-card__foot {
  margin-top: var(--space-5); padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
}
.hc-wn-card__readmore {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-brand);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-wn-card__readmore:hover { color: var(--brand-active); }

/* Watch video button */
.hc-wn-video-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-size: var(--text-sm); font-weight: 600; color: var(--kafe-700); cursor: pointer;
  border: 1px solid var(--kafe-400); background: var(--kafe-100);
  border-radius: var(--radius-md); padding: 5px 12px;
  font-family: var(--font-sans); transition: color 140ms, border-color 140ms, background 140ms;
}
.hc-wn-video-btn:hover { color: var(--kafe-800); border-color: var(--kafe-600); background: var(--kafe-200); }
.hc-wn-video-btn .hc-icon { width: 15px; height: 15px; flex: none; }

/* Expanding video container — collapsed by default */
.hc-wn-video { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 380ms var(--ease-out), opacity 280ms; }
.hc-wn-video.is-open { max-height: 1200px; opacity: 1; }
.hc-wn-video__inner {
  margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden;
  background: linear-gradient(135deg, var(--masala-900) 0%, #1a0a06 100%);
  aspect-ratio: 16/9;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); cursor: pointer;
}
.hc-wn-video__play-ring {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  transition: background 160ms, transform 160ms;
}
.hc-wn-video__play-ring svg { width: 26px; height: 26px; fill: #fff; }
.hc-wn-video__inner:hover .hc-wn-video__play-ring { background: rgba(255,255,255,.20); transform: scale(1.06); }
.hc-wn-video__hint {
  font-size: var(--text-xs); color: rgba(255,255,255,.35);
  font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.06em; text-transform: uppercase;
}
/* When a real Loom iframe is present, it fills the inner and replaces the placeholder */
.hc-wn-video__inner iframe { width: 100%; height: 100%; border: 0; aspect-ratio: 16/9; }
.hc-wn-video__inner.has-loom { background: #000; padding: 0; }
.hc-wn-video__inner.has-loom .hc-wn-video__play-ring,
.hc-wn-video__inner.has-loom .hc-wn-video__hint { display: none; }

/* Legacy image media (kept for entries that use a static image) */
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 720px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ----------------------------------------------------------------------------
   What's New — controls row: type tabs (left) + month filter dropdown (right)
   -------------------------------------------------------------------------- */
.hc-wn-controls {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-5); flex-wrap: wrap;
}
.hc-wn-controls .hc-wn-tabs { margin-top: 0; flex: 1 1 auto; }

/* Custom month dropdown */
.hc-wn-filter { position: relative; display: inline-flex; flex: 0 0 auto; padding-bottom: var(--space-3); }
.hc-wn-filter__btn {
  display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans); font-size: var(--text-sm);
  font-weight: 600; color: var(--text-strong); cursor: pointer; white-space: nowrap;
  transition: border-color 140ms, box-shadow 140ms;
}
.hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.hc-wn-filter__btn .hc-icon { width: 16px; height: 16px; }
.hc-wn-filter__chevron { transition: transform 180ms var(--ease-out); }
.hc-wn-filter.is-open .hc-wn-filter__chevron { transform: rotate(180deg); }

.hc-wn-filter__menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 236px; z-index: 300;
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding: 6px; opacity: 0; pointer-events: none;
  transform: translateY(-6px); transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.hc-wn-filter.is-open .hc-wn-filter__menu { opacity: 1; pointer-events: all; transform: translateY(0); }

.hc-wn-filter__option {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border: none; background: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-sm); color: var(--text-strong);
  border-radius: 8px; text-align: left; transition: background 120ms;
}
.hc-wn-filter__option:hover { background: var(--masala-50); }
.hc-wn-filter__check {
  width: 18px; height: 18px; flex: none; border: 1.5px solid var(--border-default);
  border-radius: 5px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 120ms, border-color 120ms;
}
.hc-wn-filter__check svg { width: 12px; height: 12px; color: #fff; opacity: 0; }
.hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-700); border-color: var(--kafe-700); }
.hc-wn-filter__option.is-selected .hc-wn-filter__check svg { opacity: 1; }
.hc-wn-filter__option-label { flex: 1 1 auto; }
.hc-wn-filter__option-count { font-size: var(--text-xs); color: var(--text-faint); }

/* Dusk (dark) variants on the What's New page */
.theme-dusk.is-whatsnew .hc-wn-filter__btn {
  background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.theme-dusk.is-whatsnew .hc-wn-filter__menu { background: var(--kafe-900); border-color: rgba(250,246,242,.14); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.theme-dusk.is-whatsnew .hc-wn-filter__option { color: var(--kafe-100); }
.theme-dusk.is-whatsnew .hc-wn-filter__option:hover { background: rgba(255,255,255,.06); }
.theme-dusk.is-whatsnew .hc-wn-filter__check { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.25); }
.theme-dusk.is-whatsnew .hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-500); border-color: var(--kafe-500); }

@media (max-width: 700px) {
  .hc-wn-controls { align-items: stretch; }
  .hc-wn-filter { padding-bottom: 0; width: 100%; }
  .hc-wn-filter__btn { width: 100%; justify-content: space-between; }
  .hc-wn-filter__menu { left: 0; right: 0; }
}

/* ============================================================================
   PYLON RICH-TEXT BLOCKS — callouts + blockquotes
   Pylon's editor outputs these but ships no styling for them, so without these
   rules a callout renders as plain text and a blockquote has an invisible bar.
   Callouts carry data-color (blue/green/yellow/red/purple/gray) and data-icon.
   ========================================================================== */

/* --- Callout box --- */
.hc-prose [data-type="callout"] {
  position: relative; margin: var(--space-5) 0; padding: 16px 18px 16px 48px;
  border-radius: 12px; border: 1px solid var(--border-default);
  background: var(--surface-card); color: var(--text-body);
  font-size: 15px; line-height: 1.6;
}
.hc-prose [data-type="callout"] > :first-child { margin-top: 0; }
.hc-prose [data-type="callout"] > :last-child { margin-bottom: 0; }

/* Generic icon dot (used when a specific icon isn't mapped) */
.hc-prose [data-type="callout"]::before {
  content: ""; position: absolute; left: 17px; top: 18px; width: 20px; height: 20px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  /* default: lightbulb */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23752F18" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>');
}

/* Colour variants — soft tinted background + matching border + icon tint */
.hc-prose [data-type="callout"][data-color="blue"]   { background: #eef4fb; border-color: #cfe0f3; color: #1c3d5c; }
.hc-prose [data-type="callout"][data-color="blue"]::before   { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231c3d5c" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>'); }

.hc-prose [data-type="callout"][data-color="green"]  { background: #eef6ef; border-color: #cfe6d2; color: #1f4d2b; }
.hc-prose [data-type="callout"][data-color="green"]::before  { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231f4d2b" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="M22 4 12 14.01l-3-3"/></svg>'); }

.hc-prose [data-type="callout"][data-color="yellow"],
.hc-prose [data-type="callout"][data-color="orange"] { background: #fbf3e6; border-color: #f0ddbf; color: #6b4a17; }
.hc-prose [data-type="callout"][data-color="yellow"]::before,
.hc-prose [data-type="callout"][data-color="orange"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b4a17" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4M12 17h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="red"]    { background: #fbeeee; border-color: #f1cfcf; color: #6b1f1f; }
.hc-prose [data-type="callout"][data-color="red"]::before    { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b1f1f" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="purple"] { background: #f3eefb; border-color: #ddcff3; color: #422c66; }
.hc-prose [data-type="callout"][data-color="gray"],
.hc-prose [data-type="callout"][data-color="grey"]   { background: var(--masala-50); border-color: var(--border-default); color: var(--text-body); }

/* On the dusk (dark) pages, soften the callout so tints read on dark */
.theme-dusk.is-whatsnew .hc-prose [data-type="callout"] { background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }

/* --- Blockquote --- */
.hc-prose blockquote {
  margin: var(--space-5) 0; padding: 4px 0 4px 20px;
  border-left: 3px solid var(--kafe-700);
  color: var(--text-body); font-style: normal;
}
.hc-prose blockquote p:last-child { margin-bottom: 0; }
.theme-dusk.is-whatsnew .hc-prose blockquote { border-left-color: var(--kafe-300); }

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; }

/* Card footer — "Read the release note" link + "Watch video" button */
.hc-wn-card__foot {
  margin-top: var(--space-5); padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
}
.hc-wn-card__readmore {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-brand);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-wn-card__readmore:hover { color: var(--brand-active); }

/* Watch video button */
.hc-wn-video-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-size: var(--text-sm); font-weight: 600; color: var(--kafe-700); cursor: pointer;
  border: 1px solid var(--kafe-400); background: var(--kafe-100);
  border-radius: var(--radius-md); padding: 5px 12px;
  font-family: var(--font-sans); transition: color 140ms, border-color 140ms, background 140ms;
}
.hc-wn-video-btn:hover { color: var(--kafe-800); border-color: var(--kafe-600); background: var(--kafe-200); }
.hc-wn-video-btn .hc-icon { width: 15px; height: 15px; flex: none; }

/* Expanding video container — collapsed by default */
.hc-wn-video { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 380ms var(--ease-out), opacity 280ms; }
.hc-wn-video.is-open { max-height: 1200px; opacity: 1; }
.hc-wn-video__inner {
  margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden;
  background: linear-gradient(135deg, var(--masala-900) 0%, #1a0a06 100%);
  aspect-ratio: 16/9;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); cursor: pointer;
}
.hc-wn-video__play-ring {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  transition: background 160ms, transform 160ms;
}
.hc-wn-video__play-ring svg { width: 26px; height: 26px; fill: #fff; }
.hc-wn-video__inner:hover .hc-wn-video__play-ring { background: rgba(255,255,255,.20); transform: scale(1.06); }
.hc-wn-video__hint {
  font-size: var(--text-xs); color: rgba(255,255,255,.35);
  font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.06em; text-transform: uppercase;
}
/* When a real Loom iframe is present, it fills the inner and replaces the placeholder */
.hc-wn-video__inner iframe { width: 100%; height: 100%; border: 0; aspect-ratio: 16/9; }
.hc-wn-video__inner.has-loom { background: #000; padding: 0; }
.hc-wn-video__inner.has-loom .hc-wn-video__play-ring,
.hc-wn-video__inner.has-loom .hc-wn-video__hint { display: none; }

/* Legacy image media (kept for entries that use a static image) */
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 720px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ----------------------------------------------------------------------------
   What's New — controls row: type tabs (left) + month filter dropdown (right)
   -------------------------------------------------------------------------- */
.hc-wn-controls {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-5); flex-wrap: wrap;
}
.hc-wn-controls .hc-wn-tabs { margin-top: 0; flex: 1 1 auto; }

/* Custom month dropdown */
.hc-wn-filter { position: relative; display: inline-flex; flex: 0 0 auto; padding-bottom: var(--space-3); }
.hc-wn-filter__btn {
  display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans); font-size: var(--text-sm);
  font-weight: 600; color: var(--text-strong); cursor: pointer; white-space: nowrap;
  transition: border-color 140ms, box-shadow 140ms;
}
.hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.hc-wn-filter__btn .hc-icon { width: 16px; height: 16px; }
.hc-wn-filter__chevron { transition: transform 180ms var(--ease-out); }
.hc-wn-filter.is-open .hc-wn-filter__chevron { transform: rotate(180deg); }

.hc-wn-filter__menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 236px; z-index: 300;
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding: 6px; opacity: 0; pointer-events: none;
  transform: translateY(-6px); transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.hc-wn-filter.is-open .hc-wn-filter__menu { opacity: 1; pointer-events: all; transform: translateY(0); }

.hc-wn-filter__option {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border: none; background: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-sm); color: var(--text-strong);
  border-radius: 8px; text-align: left; transition: background 120ms;
}
.hc-wn-filter__option:hover { background: var(--masala-50); }
.hc-wn-filter__check {
  width: 18px; height: 18px; flex: none; border: 1.5px solid var(--border-default);
  border-radius: 5px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 120ms, border-color 120ms;
}
.hc-wn-filter__check svg { width: 12px; height: 12px; color: #fff; opacity: 0; }
.hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-700); border-color: var(--kafe-700); }
.hc-wn-filter__option.is-selected .hc-wn-filter__check svg { opacity: 1; }
.hc-wn-filter__option-label { flex: 1 1 auto; }
.hc-wn-filter__option-count { font-size: var(--text-xs); color: var(--text-faint); }

/* Dusk (dark) variants on the What's New page */
.theme-dusk.is-whatsnew .hc-wn-filter__btn {
  background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.theme-dusk.is-whatsnew .hc-wn-filter__menu { background: var(--kafe-900); border-color: rgba(250,246,242,.14); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.theme-dusk.is-whatsnew .hc-wn-filter__option { color: var(--kafe-100); }
.theme-dusk.is-whatsnew .hc-wn-filter__option:hover { background: rgba(255,255,255,.06); }
.theme-dusk.is-whatsnew .hc-wn-filter__check { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.25); }
.theme-dusk.is-whatsnew .hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-500); border-color: var(--kafe-500); }

@media (max-width: 700px) {
  .hc-wn-controls { align-items: stretch; }
  .hc-wn-filter { padding-bottom: 0; width: 100%; }
  .hc-wn-filter__btn { width: 100%; justify-content: space-between; }
  .hc-wn-filter__menu { left: 0; right: 0; }
}

/* ============================================================================
   PYLON RICH-TEXT BLOCKS — callouts + blockquotes
   Pylon's editor outputs these but ships no styling for them, so without these
   rules a callout renders as plain text and a blockquote has an invisible bar.
   Callouts carry data-color (blue/green/yellow/red/purple/gray) and data-icon.
   ========================================================================== */

/* --- Callout box --- */
.hc-prose [data-type="callout"] {
  position: relative; margin: var(--space-5) 0; padding: 16px 18px 16px 48px;
  border-radius: 12px; border: 1px solid var(--border-default);
  background: var(--surface-card); color: var(--text-body);
  font-size: 15px; line-height: 1.6;
}
.hc-prose [data-type="callout"] > :first-child { margin-top: 0; }
.hc-prose [data-type="callout"] > :last-child { margin-bottom: 0; }

/* Generic icon dot (used when a specific icon isn't mapped) */
.hc-prose [data-type="callout"]::before {
  content: ""; position: absolute; left: 17px; top: 18px; width: 20px; height: 20px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  /* default: lightbulb */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23752F18" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>');
}

/* Colour variants — soft tinted background + matching border + icon tint */
.hc-prose [data-type="callout"][data-color="blue"]   { background: #eef4fb; border-color: #cfe0f3; color: #1c3d5c; }
.hc-prose [data-type="callout"][data-color="blue"]::before   { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231c3d5c" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>'); }

.hc-prose [data-type="callout"][data-color="green"]  { background: #eef6ef; border-color: #cfe6d2; color: #1f4d2b; }
.hc-prose [data-type="callout"][data-color="green"]::before  { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231f4d2b" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="M22 4 12 14.01l-3-3"/></svg>'); }

.hc-prose [data-type="callout"][data-color="yellow"],
.hc-prose [data-type="callout"][data-color="orange"] { background: #fbf3e6; border-color: #f0ddbf; color: #6b4a17; }
.hc-prose [data-type="callout"][data-color="yellow"]::before,
.hc-prose [data-type="callout"][data-color="orange"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b4a17" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4M12 17h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="red"]    { background: #fbeeee; border-color: #f1cfcf; color: #6b1f1f; }
.hc-prose [data-type="callout"][data-color="red"]::before    { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b1f1f" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="purple"] { background: #f3eefb; border-color: #ddcff3; color: #422c66; }
.hc-prose [data-type="callout"][data-color="gray"],
.hc-prose [data-type="callout"][data-color="grey"]   { background: var(--masala-50); border-color: var(--border-default); color: var(--text-body); }

/* On the dusk (dark) pages, soften the callout so tints read on dark */
.theme-dusk.is-whatsnew .hc-prose [data-type="callout"] { background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }

/* --- Blockquote --- */
.hc-prose blockquote {
  margin: var(--space-5) 0; padding: 4px 0 4px 20px;
  border-left: 3px solid var(--kafe-700);
  color: var(--text-body); font-style: normal;
}
.hc-prose blockquote p:last-child { margin-bottom: 0; }
.theme-dusk.is-whatsnew .hc-prose blockquote { border-left-color: var(--kafe-300); }

.hc-wn-card__body { max-width: none !important; }


/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   ----------------------------------------------------------------------------
   PASTE NOTE FOR PYLON:
   Keep your two existing @font-face blocks (Saans 400 + Saans 600, the big
   base64 ones) exactly where they are at the TOP of the Styling field, then
   paste everything below this banner underneath them. The base64 font data is
   unchanged by this redesign and too large to risk retyping.
   ============================================================================ */

/* ============================================================================
   HENRY AI — HELP CENTER  ·  styles.css
   All CSS for the Pylon help center: navbar, footer, homepage, collections
   (standard + What's New), and articles (standard + What's New).

   Two visual systems share this sheet:
     • STANDARD  — cream banner / white content. Used on the homepage, every
                   regular collection, and every regular article.
     • WHAT'S NEW — editorial timeline with status pills. Scoped to elements
                    INSIDE  .is-whatsnew  only — never leaks to standard pages.

   Self-contained: brand tokens are declared here (no external import needed).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. FONTS
   ------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   2. TOKENS
   ------------------------------------------------------------------------- */
:root {
  /* Kafe — primary brand ramp (terracotta -> near-black) */
  --kafe-100: #FAF6F2;
  --kafe-200: #D9B6A9;
  --kafe-300: #C49380;
  --kafe-400: #B06B4C;
  --kafe-500: #994E2F;
  --kafe-600: #863C23;
  --kafe-700: #752F18;
  --kafe-800: #4E2112;
  --kafe-900: #27140F;

  /* Masala — warm neutral ramp (paper -> ink) */
  --masala-50:  #F8F6F5;
  --masala-100: #EFEAE6;
  --masala-200: #D6CCC2;
  --masala-300: #BBAB9B;
  --masala-400: #A39483;
  --masala-500: #8A7E72;
  --masala-600: #6F665B;
  --masala-700: #585046;
  --masala-800: #494238;
  --masala-900: #3F3932;

  --white: #FFFFFF;
  --black: #1A120E;

  /* Status (muted, warm) */
  --positive: #4F7355;      --positive-soft: #E4EBE3;   --positive-ink: #3C5A41;
  --warning:  #B5832F;      --warning-soft:  #F3E9D4;   --warning-ink:  #7C5A1E;
  --info:     #5C6F86;      --info-soft:     #E4E9EF;   --info-ink:     #465468;

  /* Semantic roles */
  --surface-page:    var(--masala-50);
  --surface-card:    var(--white);
  --surface-banner:  var(--kafe-100);   /* the cream banner */
  --surface-sunken:  var(--kafe-100);
  --surface-inverse: var(--kafe-900);
  --surface-brand:   var(--kafe-700);

  --text-strong:   var(--masala-900);
  --text-body:     var(--masala-800);
  --text-muted:    var(--masala-500);
  --text-faint:    var(--masala-400);
  --text-on-brand: var(--kafe-100);
  --text-brand:    var(--kafe-700);
  --text-accent:   var(--kafe-500);

  --border-subtle:  var(--masala-200);
  --border-default: var(--masala-300);
  --border-strong:  var(--masala-500);
  --border-brand:   var(--kafe-700);

  --brand:        var(--kafe-700);
  --brand-hover:  var(--kafe-800);
  --brand-active: var(--kafe-900);
  --focus-ring:   var(--kafe-500);

  --font-sans: "Saans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale */
  --text-xs: 12px; --text-sm: 14px; --text-base: 16px; --text-md: 18px;
  --text-lg: 21px; --text-xl: 26px; --text-2xl: 33px; --text-3xl: 42px;
  --text-4xl: 54px;

  /* Spacing (8px base) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 16px; --radius-xl: 24px; --radius-full: 999px;

  /* Shadow — warm, low spread */
  --shadow-xs: 0 1px 2px rgba(39,20,15,.05);
  --shadow-sm: 0 1px 3px rgba(39,20,15,.07), 0 1px 2px rgba(39,20,15,.04);
  --shadow-md: 0 4px 12px rgba(39,20,15,.08), 0 1px 3px rgba(39,20,15,.05);
  --shadow-lg: 0 12px 32px rgba(39,20,15,.10), 0 4px 8px rgba(39,20,15,.05);
  --shadow-focus: 0 0 0 3px rgba(153,78,47,.30);

  --container: 1200px;
  --reading: 760px;
  --header-h: 64px;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.4,0,.2,1);
}

/* ---------------------------------------------------------------------------
   3. RESET / BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5 { margin: 0; font-weight: 600; color: var(--text-strong); letter-spacing: -0.015em; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
ul, ol { margin: 0; }

.hc-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-6); }
.hc-eyebrow {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-accent);
}
.hc-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Buttons (shared) */
.hc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  height: 40px; padding: 0 var(--space-4); border-radius: var(--radius-md);
  font-size: var(--text-sm); font-weight: 600; letter-spacing: -0.015em;
  cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--ease-standard) 160ms, border-color var(--ease-standard) 160ms, color 160ms;
}
.hc-btn--primary { background: var(--brand); color: var(--text-on-brand); border-color: var(--brand); }
.hc-btn--primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.hc-btn--primary:active { background: var(--brand-active); border-color: var(--brand-active); }
.hc-btn--ghost { background: transparent; color: var(--text-body); border-color: var(--border-default); }
.hc-btn--ghost:hover { background: var(--masala-100); }
.hc-btn--lg { height: 48px; padding: 0 var(--space-5); font-size: var(--text-base); }

.hc-icon { width: 20px; height: 20px; stroke-width: 1.75; flex: none; }

/* ============================================================================
   6. STANDARD — cream banner shell
   ========================================================================== */
.hc-banner { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-banner__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }

/* Breadcrumbs */
.hc-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); color: var(--text-muted); }
.hc-crumbs a { color: var(--text-muted); transition: color 140ms; }
.hc-crumbs a:hover { color: var(--text-brand); }
.hc-crumbs__sep { color: var(--text-faint); }
.hc-crumbs__current { color: var(--text-body); }

/* ---- Homepage hero ---- */
.hc-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.hc-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-9) var(--space-6) var(--space-8); text-align: center; }
.hc-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin: var(--space-3) 0 0; }
.hc-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin: var(--space-4) auto 0; max-width: 560px; }
.hc-search {
  position: relative; max-width: 600px; margin: var(--space-6) auto 0;
}
.hc-search .hc-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--text-faint); width: 22px; height: 22px; }
.hc-search input {
  width: 100%; height: 60px; padding: 0 20px 0 52px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search input::placeholder { color: var(--text-faint); }
.hc-search input:focus { border-color: var(--masala-300); box-shadow: none; outline: none; }
.hc-suggest { margin: var(--space-4) auto 0; display: flex; gap: var(--space-2); justify-content: center; flex-wrap: wrap; align-items: center; }
.hc-suggest__label { font-size: var(--text-sm); color: var(--text-muted); }
.hc-chip {
  display: inline-flex; align-items: center; padding: 6px 12px; border-radius: var(--radius-full);
  background: var(--surface-card); border: 1px solid var(--border-subtle);
  font-size: var(--text-sm); color: var(--text-body); transition: border-color 140ms, color 140ms;
}
.hc-chip:hover { border-color: var(--border-default); color: var(--text-brand); }

/* ---- Section block ---- */
.hc-section { padding: 28px 0 40px; }
.hc-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); flex-wrap: wrap; }
.hc-section__title { font-size: var(--text-xl); }
.hc-section__link { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-section__link:hover { color: var(--brand-active); }

/* ---- Collection card grid (homepage) ---- */
.hc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.hc-card {
  display: flex; flex-direction: column; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm);
  transition: box-shadow 200ms var(--ease-out), transform 200ms var(--ease-out), border-color 200ms;
}
.hc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--border-default); }
.hc-card__icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center;
  background: var(--kafe-100); color: var(--kafe-700); margin-bottom: var(--space-4);
}
.hc-card__icon .hc-icon { width: 22px; height: 22px; }
.hc-card__title { font-size: var(--text-md); margin-bottom: 6px; }
.hc-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.5; flex: 1; }
.hc-card__meta { margin-top: var(--space-4); font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }

/* ---- Popular articles list ---- */
.hc-poplist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-7); }
.hc-poplist a {
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border-subtle); transition: padding 160ms var(--ease-out);
}
.hc-poplist a:hover { padding-left: var(--space-2); }
.hc-poplist a:hover .hc-poplist__title { color: var(--text-brand); }
.hc-poplist .hc-icon { color: var(--text-faint); width: 18px; height: 18px; }
.hc-poplist__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-poplist__arrow { margin-left: auto; color: var(--text-faint); }

/* ---- What's New promo strip (on standard homepage) ---- */
.hc-promo {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-6);
  background: var(--surface-inverse); border-radius: var(--radius-xl);
  padding: var(--space-7); color: var(--kafe-100); flex-wrap: wrap;
}
.hc-promo__eyebrow { font-size: var(--text-base); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--kafe-300); }
.hc-promo__title { font-size: var(--text-2xl); color: var(--white); margin: var(--space-2) 0 var(--space-2); letter-spacing: -0.02em; }
.hc-promo__sub { font-size: var(--text-base); color: var(--kafe-200); max-width: 460px; }
.hc-promo .hc-btn--primary { background: var(--kafe-100); color: var(--kafe-900); border-color: var(--kafe-100); }
.hc-promo .hc-btn--primary:hover { background: var(--white); border-color: var(--white); }

/* ============================================================================
   7. STANDARD — collection page
   ========================================================================== */
.hc-layout { display: grid; grid-template-columns: 248px 1fr; gap: var(--space-8); align-items: start; }
.hc-sidebar { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-sidebar__heading {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: var(--space-3); padding-left: var(--space-3);
}
.hc-sidenav { display: flex; flex-direction: column; gap: 2px; }
.hc-sidenav a {
  display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3);
  border-radius: var(--radius-md); font-size: var(--text-sm); font-weight: 600; color: var(--text-muted);
  transition: background 140ms, color 140ms;
}
.hc-sidenav a .hc-icon { width: 18px; height: 18px; color: var(--text-faint); transition: color 140ms; }
.hc-sidenav a:hover { background: var(--masala-100); color: var(--text-strong); }
.hc-sidenav a:hover .hc-icon { color: var(--text-brand); }
.hc-sidenav a.is-active { background: var(--kafe-100); color: var(--kafe-700); }
.hc-sidenav a.is-active .hc-icon { color: var(--kafe-700); }
.hc-sidenav a .hc-sidenav__count { margin-left: auto; font-size: var(--text-xs); color: var(--text-faint); font-weight: 600; }

.hc-collhead { display: flex; align-items: flex-start; gap: var(--space-5); }
.hc-collhead__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); flex: none;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface-card); border: 1px solid var(--border-subtle); color: var(--kafe-700); box-shadow: var(--shadow-xs);
}
.hc-collhead__icon .hc-icon,
.hc-collhead__icon svg,
.hc-collhead__icon img {
  width: 32px !important; height: 32px !important;
  max-width: 32px !important; max-height: 32px !important;
}
.hc-collhead__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; }
.hc-collhead__desc { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-3); max-width: 620px; }
.hc-collhead__meta { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-3); }

/* Article rows within a collection */
.hc-articles { display: flex; flex-direction: column; }
.hc-arow {
  display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-subtle);
}
.hc-arow:first-child { padding-top: 0; }
.hc-arow__icon { color: var(--text-faint); margin-top: 2px; transition: color 140ms; }
.hc-arow:hover .hc-arow__icon { color: var(--text-brand); }
.hc-arow__body { flex: 1; min-width: 0; }
.hc-arow__title { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); transition: color 140ms; }
.hc-arow:hover .hc-arow__title { color: var(--text-brand); }
.hc-arow__excerpt { font-size: var(--text-sm); color: var(--text-muted); margin-top: 4px; line-height: 1.5; }
.hc-arow__meta { display: flex; gap: var(--space-4); margin-top: var(--space-2); font-size: var(--text-xs); color: var(--text-faint); }
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta .hc-icon { width: 14px; height: 14px; }
.hc-arow__arrow { color: var(--text-faint); margin-top: 2px; transition: transform 160ms var(--ease-out); }
.hc-arow:hover .hc-arow__arrow { transform: translateX(3px); color: var(--text-brand); }

/* ============================================================================
   8. STANDARD — article page
   ========================================================================== */
.hc-article-layout { display: grid; grid-template-columns: 1fr 240px; gap: var(--space-8); align-items: start; }
.hc-prose { max-width: var(--reading); }
.hc-prose > * + * { margin-top: var(--space-4); }
.hc-prose h2 { font-size: var(--text-xl); margin-top: var(--space-7); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
.hc-prose h3 { font-size: var(--text-md); margin-top: var(--space-6); scroll-margin-top: calc(var(--header-h) + var(--space-5)); }
/* First element in the article body should hug the banner, not carry the
   large inter-section top margin. */
.hc-prose > :first-child { margin-top: 0 !important; }
.hc-prose p { font-size: var(--text-base); color: var(--text-body); line-height: 1.65; }
.hc-prose a:not(.hc-btn) { color: var(--text-brand); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--kafe-300); }
.hc-prose a:not(.hc-btn):hover { text-decoration-color: var(--kafe-700); }
.hc-prose ul, .hc-prose ol { padding-left: var(--space-5); color: var(--text-body); }
.hc-prose li { margin-top: var(--space-2); line-height: 1.6; }
.hc-prose li::marker { color: var(--text-faint); }
.hc-prose img { border-radius: var(--radius-md); border: 1px solid var(--border-subtle); margin-top: var(--space-5); }
.hc-prose figure { margin: var(--space-5) 0 0; }
.hc-prose figcaption { font-size: var(--text-sm); color: var(--text-faint); margin-top: var(--space-2); }
.hc-prose code {
  font-family: var(--font-mono); font-size: 0.9em; background: var(--surface-sunken);
  color: var(--kafe-700); padding: 2px 6px; border-radius: var(--radius-xs); border: 1px solid var(--border-subtle);
}

/* Steps (ordered, numbered) */
.hc-steps { list-style: none; padding: 0; counter-reset: step; }
.hc-steps > li { position: relative; padding-left: 44px; margin-top: var(--space-5); }
.hc-steps > li::before {
  counter-increment: step; content: counter(step);
  position: absolute; left: 0; top: -2px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--kafe-700); color: var(--kafe-100); border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight: 600;
}
.hc-steps strong { color: var(--text-strong); }

/* Callout */
.hc-callout {
  display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5);
  background: var(--surface-sunken); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md); margin-top: var(--space-5);
}
.hc-callout .hc-icon { color: var(--kafe-700); margin-top: 1px; }
.hc-callout__body { font-size: var(--text-sm); color: var(--text-body); line-height: 1.6; }
.hc-callout strong { color: var(--text-strong); }

.hc-article-head { max-width: var(--reading); }
.hc-article-head__title { font-size: var(--text-3xl); line-height: 1.1; letter-spacing: -0.025em; margin-top: var(--space-3); }
.hc-article-meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-5); font-size: var(--text-sm); color: var(--text-muted); }
.hc-avatar {
  width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--kafe-700);
  color: var(--kafe-100); display: inline-flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 600; flex: none;
}
.hc-article-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--text-faint); }
.hc-readtime { display: inline-flex; align-items: center; gap: 5px; }
.hc-readtime svg { width: 14px; height: 14px; flex: none; }
.hc-readtime[hidden], .hc-article-meta__dot[hidden] { display: none !important; }
/* Brief under the article title (banner) */
.hc-article-head__desc {
  font-size: var(--text-lg);
  color: var(--kafe-300);
  line-height: 1.5;
  margin-top: var(--space-3);
  max-width: 680px;
}
.hc-article-head__desc:empty { display: none; }

/* On this page (TOC) */
.hc-toc { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
.hc-toc__heading { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: var(--space-3); }
.hc-toc__list { display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border-subtle); }
.hc-toc__list a {
  font-size: var(--text-sm); color: var(--masala-500) !important; padding: 5px var(--space-3);
  margin-left: -1px; border-left: 2px solid transparent; transition: color 140ms, border-color 140ms;
  text-decoration: none; font-weight: 400 !important;
}
.hc-toc__list a:hover { color: var(--kafe-700) !important; }
.hc-toc__list a.is-active { color: var(--kafe-700) !important; border-left-color: var(--kafe-700) !important; font-weight: 600 !important; }

/* Was this helpful */
.hc-helpful {
  margin-top: var(--space-6); padding: var(--space-4) var(--space-6); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg); background: var(--surface-card); text-align: center; max-width: var(--reading);
}
.hc-helpful__q { font-size: var(--text-md); font-weight: 600; color: var(--text-strong); }
.hc-helpful__btns { display: flex; gap: var(--space-3); justify-content: center; margin-top: var(--space-4); }
.hc-helpful__msg { font-size: var(--text-sm); color: var(--positive-ink); margin-top: var(--space-4); display: none; }
.hc-helpful.is-done .hc-helpful__btns { display: none; }
.hc-helpful.is-done .hc-helpful__msg { display: block; }

/* Related */
.hc-related { margin-top: var(--space-8); max-width: var(--reading); }

/* ============================================================================
   9. WHAT'S NEW  — scoped to  .is-whatsnew  only
   ========================================================================== */
.is-whatsnew .hc-wn-hero { background: var(--surface-banner); border-bottom: 1px solid var(--border-subtle); }
.is-whatsnew .hc-wn-hero__inner { max-width: var(--container); margin: 0 auto; padding: var(--space-8) var(--space-6); }
.is-whatsnew .hc-wn-hero__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-3); max-width: 720px; }
.is-whatsnew .hc-wn-hero__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 560px; }
.is-whatsnew .hc-wn-sub-actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.is-whatsnew .hc-wn-subscribe { display: flex; gap: var(--space-2); }
.is-whatsnew .hc-wn-subscribe input {
  width: 260px; height: 44px; padding: 0 14px; border: 1px solid var(--border-default);
  border-radius: var(--radius-md); background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-base); color: var(--text-strong); outline: none; transition: box-shadow 160ms, border-color 160ms;
}
.is-whatsnew .hc-wn-subscribe input:focus { border-color: var(--focus-ring); box-shadow: var(--shadow-focus); }

/* Status pills */
.hc-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: var(--radius-full);
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}
.hc-pill__dot { width: 6px; height: 6px; border-radius: 50%; }
.hc-pill--shipped  { background: var(--positive-soft); color: var(--positive-ink); }
.hc-pill--shipped .hc-pill__dot { background: var(--positive); }
.hc-pill--new      { background: var(--kafe-100); color: var(--kafe-700); }
.hc-pill--new .hc-pill__dot { background: var(--kafe-500); }
.hc-pill--beta     { background: var(--info-soft); color: var(--info-ink); }
.hc-pill--beta .hc-pill__dot { background: var(--info); }
.hc-pill--improved { background: var(--masala-100); color: var(--masala-700); }
.hc-pill--improved .hc-pill__dot { background: var(--masala-500); }
.hc-pill--fixed    { background: var(--warning-soft); color: var(--warning-ink); }
.hc-pill--fixed .hc-pill__dot { background: var(--warning); }

/* Filter tabs */
.hc-wn-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--border-subtle); margin-top: var(--space-7); }
.hc-wn-tab {
  position: relative; border: none; background: none; cursor: pointer; padding: 0 0 var(--space-3);
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600; letter-spacing: -0.015em;
  display: inline-flex; align-items: center; gap: var(--space-2); color: var(--text-muted); transition: color 140ms;
}
.hc-wn-tab__count { font-size: var(--text-xs); font-weight: 600; padding: 2px 7px; border-radius: var(--radius-full); color: var(--text-faint); background: var(--masala-100); transition: color 140ms, background 140ms; }
.hc-wn-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--kafe-700); border-radius: 2px 2px 0 0; opacity: 0; transition: opacity 140ms; }
.hc-wn-tab:hover { color: var(--text-strong); }
.hc-wn-tab.is-active { color: var(--text-strong); }
.hc-wn-tab.is-active::after { opacity: 1; }
.hc-wn-tab.is-active .hc-wn-tab__count { color: var(--kafe-700); background: var(--kafe-100); }

/* Timeline feed */
.hc-wn-feed { max-width: var(--container); margin: 0 auto; padding: var(--space-7) var(--space-6) 0; }
.hc-wn-entry { display: grid; grid-template-columns: 160px 1fr; gap: var(--space-6); }
.hc-wn-entry__rail { }
.hc-wn-entry__date { position: sticky; top: calc(var(--header-h) + var(--space-5)); padding-right: var(--space-2); }
.hc-wn-entry__date .d { font-size: var(--text-sm); font-weight: 600; color: var(--text-strong); }
.hc-wn-entry__date .v { font-size: var(--text-xs); color: var(--text-faint); font-family: var(--font-mono); margin-top: 2px; }
.hc-wn-entry__main { position: relative; padding-left: 28px; padding-bottom: var(--space-7); }
.hc-wn-entry__line { position: absolute; left: 5px; top: 6px; bottom: 0; width: 1px; background: var(--border-subtle); }
.hc-wn-entry:last-child .hc-wn-entry__line { display: none; }
.hc-wn-entry__node { position: absolute; left: 0; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--surface-card); border: 2px solid var(--kafe-500); }
.hc-wn-card {
  background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-6); box-shadow: var(--shadow-sm); margin-top: -6px;
  transition: box-shadow 200ms var(--ease-out), border-color 200ms;
}
.hc-wn-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-default); }
.hc-wn-card__pills { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hc-wn-card__title { font-size: var(--text-xl); margin: var(--space-3) 0 var(--space-2); }
.hc-wn-card__title a { transition: color 140ms; }
.hc-wn-card__title a:hover { color: var(--text-brand); }
.hc-wn-card__body { font-size: var(--text-base); color: var(--text-body); line-height: 1.6; }

/* Card footer — "Read the release note" link + "Watch video" button */
.hc-wn-card__foot {
  margin-top: var(--space-5); padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap;
}
.hc-wn-card__readmore {
  font-size: var(--text-sm); font-weight: 600; color: var(--text-brand);
  display: inline-flex; align-items: center; gap: 6px;
}
.hc-wn-card__readmore:hover { color: var(--brand-active); }

/* Watch video button */
.hc-wn-video-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-size: var(--text-sm); font-weight: 600; color: var(--kafe-700); cursor: pointer;
  border: 1px solid var(--kafe-400); background: var(--kafe-100);
  border-radius: var(--radius-md); padding: 5px 12px;
  font-family: var(--font-sans); transition: color 140ms, border-color 140ms, background 140ms;
}
.hc-wn-video-btn:hover { color: var(--kafe-800); border-color: var(--kafe-600); background: var(--kafe-200); }
.hc-wn-video-btn .hc-icon { width: 15px; height: 15px; flex: none; }

/* Expanding video container — collapsed by default */
.hc-wn-video { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 380ms var(--ease-out), opacity 280ms; }
.hc-wn-video.is-open { max-height: 1200px; opacity: 1; }
.hc-wn-video__inner {
  margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden;
  background: linear-gradient(135deg, var(--masala-900) 0%, #1a0a06 100%);
  aspect-ratio: 16/9;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-3); cursor: pointer;
}
.hc-wn-video__play-ring {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  transition: background 160ms, transform 160ms;
}
.hc-wn-video__play-ring svg { width: 26px; height: 26px; fill: #fff; }
.hc-wn-video__inner:hover .hc-wn-video__play-ring { background: rgba(255,255,255,.20); transform: scale(1.06); }
.hc-wn-video__hint {
  font-size: var(--text-xs); color: rgba(255,255,255,.35);
  font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.06em; text-transform: uppercase;
}
/* When a real Loom iframe is present, it fills the inner and replaces the placeholder */
.hc-wn-video__inner iframe { width: 100%; height: 100%; border: 0; aspect-ratio: 16/9; }
.hc-wn-video__inner.has-loom { background: #000; padding: 0; }
.hc-wn-video__inner.has-loom .hc-wn-video__play-ring,
.hc-wn-video__inner.has-loom .hc-wn-video__hint { display: none; }

/* Legacy image media (kept for entries that use a static image) */
.hc-wn-card__media { margin-top: var(--space-4); border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-subtle); max-width: 720px; }
.hc-wn-card__media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.hc-wn-card__tags { display: flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.hc-tag {
  display: inline-flex; align-items: center; padding: 5px 10px; background: var(--masala-50);
  color: var(--masala-700); border: 1px solid var(--border-subtle); font-size: var(--text-sm); border-radius: var(--radius-sm);
}
.hc-wn-card__foot { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.hc-wn-card__readmore { font-size: var(--text-sm); font-weight: 600; color: var(--text-brand); display: inline-flex; align-items: center; gap: 6px; }
.hc-wn-card__readmore:hover { color: var(--brand-active); }
.hc-wn-card__readmore .hc-icon { width: 16px; height: 16px; transition: transform 160ms var(--ease-out); }
.hc-wn-card__readmore:hover .hc-icon { transform: translateX(3px); }

/* What's New — single release article */
.is-whatsnew .hc-release-head { max-width: var(--reading); }
.is-whatsnew .hc-release-head__meta { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); font-size: var(--text-sm); color: var(--text-muted); }
.is-whatsnew .hc-release-head__meta .v { font-family: var(--font-mono); }
.is-whatsnew .hc-release-head__title { font-size: var(--text-4xl); line-height: 1.05; letter-spacing: -0.03em; margin-top: var(--space-4); }
.is-whatsnew .hc-release-head__sub { font-size: var(--text-lg); color: var(--text-muted); margin-top: var(--space-4); max-width: 620px; }
.is-whatsnew .hc-release-cover { margin-top: var(--space-6); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-subtle); box-shadow: var(--shadow-sm); }
.is-whatsnew .hc-release-cover img { width: 100%; height: 360px; object-fit: cover; }

/* Release pager */
.hc-pager { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-8); max-width: var(--reading); flex-wrap: wrap; }
.hc-pager a {
  display: flex; flex-direction: column; gap: 4px; padding: var(--space-4) var(--space-5);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-card);
  flex: 1; min-width: 200px; transition: border-color 160ms, box-shadow 160ms;
}
.hc-pager a:hover { border-color: var(--border-default); box-shadow: var(--shadow-sm); }
.hc-pager a.is-next { text-align: right; align-items: flex-end; }
.hc-pager__label { font-size: var(--text-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }
.hc-pager__title { font-size: var(--text-base); font-weight: 600; color: var(--text-strong); }

/* ============================================================================
   11. THEME — DUSK  (alternate skin · same palette, remixed)
        Dark masthead + warm cream page + ember accents. Built entirely from
        the existing Kafe / Masala ramps — no new colors. Opt in per page with
        <body class="theme-dusk">; it never leaks onto the standard pages.
   ========================================================================== */
.theme-dusk {
  --surface-page:   var(--kafe-100);    /* warm cream page  (was cool greige) */
  --surface-banner: var(--kafe-900);    /* dark masthead    (was cream)       */
  --surface-sunken: var(--masala-100);  /* greige callouts read on cream      */
  --text-brand:     var(--kafe-600);
  --text-accent:    var(--kafe-500);
  --brand:          var(--kafe-600);
  --brand-hover:    var(--kafe-700);
  --brand-active:   var(--kafe-800);
  --focus-ring:     var(--kafe-500);
}

/* Navbar — dark glass */
.theme-dusk .hc-wordmark { color: var(--kafe-100); }
.theme-dusk .hc-nav__tag { color: var(--masala-300); border-left-color: var(--masala-700); }
.theme-dusk .hc-nav__link { color: var(--masala-300); }
.theme-dusk .hc-nav__link:hover, .theme-dusk .hc-nav__link.is-active { color: var(--white); }
.theme-dusk .hc-nav__search input { background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__search input::placeholder { color: var(--masala-400); }
.theme-dusk .hc-nav__search .hc-icon { color: var(--masala-400); }
.theme-dusk .hc-nav__toggle { border-color: var(--masala-700); color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile { background: var(--kafe-900); border-top-color: rgba(250,246,242,.10); }
.theme-dusk .hc-nav__mobile a { color: var(--kafe-100); }
.theme-dusk .hc-nav__mobile a:hover { background: rgba(255,255,255,.06); }

/* Masthead — hero + banner share the dark surface; flip the text */
.theme-dusk .hc-hero, .theme-dusk .hc-banner { border-bottom-color: rgba(250,246,242,.10); }
.theme-dusk .hc-hero .hc-eyebrow,
.theme-dusk .hc-banner .hc-eyebrow,
.theme-dusk .hc-suggest__label { color: var(--kafe-300); }
.theme-dusk .hc-hero__title { color: var(--white); }
.theme-dusk .hc-hero__sub { color: var(--kafe-200); }

/* Hero chips on dark */
.theme-dusk .hc-chip { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }
.theme-dusk .hc-chip:hover { border-color: var(--kafe-400); color: var(--white); }

/* Breadcrumbs on dark */
.theme-dusk .hc-crumbs, .theme-dusk .hc-crumbs a { color: var(--kafe-300); }
.theme-dusk .hc-crumbs a:hover { color: var(--white); }
.theme-dusk .hc-crumbs__sep { color: var(--masala-600); }
.theme-dusk .hc-crumbs__current { color: var(--kafe-100); }

/* Collection header on dark banner */
.theme-dusk .hc-collhead__icon { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.16); color: var(--kafe-300); box-shadow: none; }
.theme-dusk .hc-collhead__title { color: var(--white); }
.theme-dusk .hc-collhead__desc { color: var(--kafe-200); }
.theme-dusk .hc-collhead__meta { color: var(--masala-400); }

/* Article header on dark banner */
.theme-dusk .hc-article-head__title { color: var(--white); }
.theme-dusk .hc-article-meta { color: var(--kafe-300); }
.theme-dusk .hc-article-meta__dot { background: var(--masala-600); }

/* Body on warm cream — lift the white cards, warm the accents */
.theme-dusk .hc-card__icon { color: var(--kafe-600); }
.theme-dusk .hc-card:hover { border-color: var(--kafe-400); }
.theme-dusk .hc-sidenav a:hover { background: var(--white); }

/* ============================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
  .hc-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .hc-sidebar { position: static; }
  .hc-sidenav { flex-direction: row; flex-wrap: wrap; gap: var(--space-2); }
  .hc-sidenav a { background: var(--surface-card); border: 1px solid var(--border-subtle); }
  .hc-sidenav a .hc-sidenav__count { display: none; }
  .hc-article-layout { grid-template-columns: 1fr; }
  .hc-toc { display: none; }
}

@media (max-width: 768px) {
  .hc-container, .hc-banner__inner, .hc-hero__inner, .hc-wn-hero__inner, .hc-wn-feed, .hc-footer__inner, .hc-nav__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
  .hc-nav__search, .hc-nav__links { display: none; }
  .hc-nav__toggle { display: flex; }
  .hc-nav__mobile.is-open { display: block; }
  .hc-nav__mobile {
    border-top: 1px solid var(--border-subtle); background: var(--surface-page);
    padding: var(--space-4); display: none; flex-direction: column; gap: var(--space-2);
  }
  .hc-nav__mobile .hc-nav__search { display: block; max-width: none; margin-bottom: var(--space-2); }
  .hc-nav__mobile a { padding: var(--space-3); border-radius: var(--radius-md); font-weight: 600; color: var(--text-body); }
  .hc-nav__mobile a:hover { background: var(--masala-100); }

  .hc-hero__title { font-size: var(--text-3xl); }
  .hc-hero__inner { padding: var(--space-8) var(--space-4) var(--space-7); }
  .hc-search input { height: 52px; }
  .hc-grid, .hc-poplist { grid-template-columns: 1fr; }
  .hc-poplist a { padding: var(--space-3) 0; }
  .hc-promo { padding: var(--space-6); }
  .hc-promo__title { font-size: var(--text-xl); }

  .hc-collhead { flex-direction: column; gap: var(--space-4); }
  .hc-collhead__title { font-size: var(--text-2xl); }
  .hc-article-head__title, .is-whatsnew .hc-release-head__title { font-size: var(--text-2xl); }
  .is-whatsnew .hc-wn-hero__title { font-size: var(--text-3xl); }

  .hc-wn-entry { grid-template-columns: 1fr; gap: var(--space-3); }
  .hc-wn-entry__date { position: static; display: flex; align-items: baseline; gap: var(--space-3); }
  .hc-wn-entry__date .v { margin-top: 0; }
  .hc-wn-entry__main { padding-left: 20px; padding-bottom: var(--space-6); }
  .hc-wn-tabs { gap: var(--space-4); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hc-wn-tab { white-space: nowrap; }
  .hc-release-cover img, .is-whatsnew .hc-release-cover img { height: 220px; }

  .hc-footer__top { flex-direction: column; gap: var(--space-6); }
  .hc-footer__cols { gap: var(--space-6); }
}

/* ============================================================================
   12. WHAT'S NEW on DUSK  — flip the masthead text to read on the dark banner
        Active only when both scopes are present: .theme-dusk.is-whatsnew
   ========================================================================== */
.theme-dusk.is-whatsnew .hc-wn-hero .hc-eyebrow { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-hero__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-hero__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-subscribe input {
  background: rgba(255,255,255,.06); border-color: var(--masala-700); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-subscribe input::placeholder { color: var(--masala-400); }
.theme-dusk.is-whatsnew .hc-wn-tabs { border-bottom-color: rgba(250,246,242,.14); }
.theme-dusk.is-whatsnew .hc-wn-tab { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab:hover,
.theme-dusk.is-whatsnew .hc-wn-tab.is-active { color: var(--white); }
.theme-dusk.is-whatsnew .hc-wn-tab__count { background: rgba(255,255,255,.10); color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active::after { background: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-wn-tab.is-active .hc-wn-tab__count { background: var(--kafe-700); color: var(--kafe-100); }

/* Release-note header on the dark banner */
.theme-dusk.is-whatsnew .hc-release-head__title { color: var(--white); }
.theme-dusk.is-whatsnew .hc-release-head__sub { color: var(--kafe-200); }
.theme-dusk.is-whatsnew .hc-release-head__meta { color: var(--kafe-300); }
.theme-dusk.is-whatsnew .hc-release-head__meta .v { color: var(--kafe-200); }

/* ============================================================================
   13. SCREEN SEPARATOR  — used only in the combined "full version" exports to
        label where each page (Homepage / Collection / Article) begins.
        Harmless on single-page layouts (the element simply isn't present).
   ========================================================================== */
.hc-screenmark {
  max-width: var(--container); margin: 0 auto;
  padding: var(--space-8) var(--space-6) 0;
  display: flex; align-items: center; gap: var(--space-4);
}
.hc-screenmark::before, .hc-screenmark::after {
  content: ""; height: 1px; background: var(--border-default); flex: 1;
}
.hc-screenmark__txt {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
  display: inline-flex; align-items: center; gap: var(--space-2);
}
.hc-screenmark__idx {
  color: var(--text-on-brand); background: var(--brand);
  font-weight: 600; border-radius: var(--radius-full);
  width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; letter-spacing: 0;
}
.theme-dusk .hc-screenmark::before, .theme-dusk .hc-screenmark::after { background: var(--masala-300); }
.theme-dusk .hc-screenmark__txt { color: var(--masala-600); }
@media (max-width: 768px) {
  .hc-screenmark { padding-left: var(--space-4); padding-right: var(--space-4); }
}
.hc-screenmark { display: none !important; }

/* ============================================================================
   14. PYLON INTEGRATION  — search widget containment + platform overrides
   ----------------------------------------------------------------------------
   Pylon mounts its real search UI into the <div id="kb-search"></div> that we
   place inside .hc-nav__search (navbar) and .hc-search (homepage hero). These
   rules make Pylon's injected input adopt the design's look, and keep the
   widget fully contained so it can never render full-size in the page body.
   ========================================================================== */

/* The mount point fills its styled wrapper */
.hc-nav__search #kb-search,
.hc-search #kb-search { width: 100%; }

/* Spacer used on the homepage navbar (no search box there) to push nav right */
.hc-nav__spacer { flex: 1 !important; }

/* Navbar search wrapper — sits between logo and nav links */
.kb-header-inner .hc-nav__search {
  flex: 1 !important;
  max-width: 420px !important;
  position: relative !important;
}
/* Pylon's injected input — dark translucent to match the dusk navbar */
.hc-nav__search .KnowledgeBaseSearchInput,
.hc-nav__search input[type="search"],
.hc-nav__search input {
  width: 100% !important; height: 40px !important; padding: 0 14px 0 40px !important;
  border: 1px solid rgba(250,246,242,.16) !important; border-radius: 10px !important;
  background: rgba(250,246,242,.07) !important; font-family: var(--font-sans) !important;
  font-size: 15px !important; color: var(--kafe-100) !important; outline: none !important;
  transition: box-shadow 160ms, border-color 160ms, background 160ms !important;
}
.hc-nav__search .KnowledgeBaseSearchInput::placeholder,
.hc-nav__search input::placeholder { color: rgba(250,246,242,.45) !important; }
.hc-nav__search .KnowledgeBaseSearchInput:focus,
.hc-nav__search input:focus {
  border-color: var(--masala-400) !important;
  background: rgba(250,246,242,.12) !important;
  box-shadow: 0 0 0 3px rgba(163,148,131,.25) !important;
}
/* Search glyph inside the navbar box */
.kb-header-inner .hc-nav__search::before {
  content: "" !important;
  position: absolute !important; left: 13px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 17px !important; height: 17px !important; pointer-events: none !important; z-index: 2 !important;
  background-repeat: no-repeat !important; background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%23A39483' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
}

/* Pylon's injected input inherits the design input styling (hero) */
.hc-search .KnowledgeBaseSearchInput,
.hc-search input[type="search"],
.hc-search input {
  width: 100%; height: 60px; padding: 0 var(--space-5) 0 56px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
  background: var(--surface-card); font-family: var(--font-sans);
  font-size: var(--text-md); color: var(--text-strong); outline: none;
  box-shadow: var(--shadow-sm); transition: box-shadow 160ms, border-color 160ms;
}
.hc-search .KnowledgeBaseSearchInput:focus,
.hc-search input:focus {
  border-color: var(--masala-300) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Containment guard: keep Pylon's search box from ever escaping its wrapper.
   Any kb-search that is NOT inside our two intended wrappers is collapsed. */
body > #kb-search,
.hc-banner #kb-search,
.hc-wn-hero #kb-search,
.hc-collhead #kb-search,
.hc-article-head #kb-search { display: none !important; }

/* Pylon injects an admin-only "Edit in Pylon" affordance; hide it site-wide */
#kb-article-edit { display: none !important; }

/* Pylon search results panel: constrain to the reading width, drop-in card */
#kb-search-results { max-width: var(--container); margin: 0 auto; }

/* ============================================================================
   15. WHAT'S NEW on DUSK overrides already live in section 12.
   Nothing further required here; is-whatsnew is toggled on <body> by scripts.
   ========================================================================== */

/* ============================================================================
   PATCH — feedback round 1
   ========================================================================== */


/* 3. Collection card icons — box + glyph sized up two steps */
.hc-card__icon { width: 52px; height: 52px; }
.hc-card__icon .hc-icon,
.hc-card__icon img,
.hc-card__icon svg { width: 26px !important; height: 26px !important; stroke-width: 1.25 !important; }

/* 4. Collection sidebar icons — force small regardless of what Pylon renders */
.hc-sidenav a svg,
.hc-sidenav a img,
.hc-sidenav a .hc-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px;
  min-height: 16px;
  stroke-width: 1.25 !important;
  flex: none;
}

/* 5. Collection banner — article count: make it visible even if 0
      (visual-only; actual count comes from template) */
.hc-collhead__meta { min-height: 1.2em; }

/* 6. Article banner — taller, more breathing room.
   Left padding zeroed so the breadcrumb/title/meta align with the body
   content + sidebar below (which sit at the container edge, not the +32px
   inner padding). Right padding kept. */
.hc-banner__inner {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  padding-left: 0 !important;
}
.hc-article-head__title { font-size: var(--text-3xl) !important; }

/* 7. Article meta row — clock + date, spaced nicely */
.hc-article-meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--kafe-300);
  flex-wrap: wrap;
}
.hc-article-meta .hc-article-meta__dot { background: var(--masala-600); }

/* 8. Article row meta (collections page) — show read time + date */
.hc-arow__meta {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-2);
  font-size: var(--text-xs);
  color: var(--text-faint);
}
.hc-arow__meta span { display: inline-flex; align-items: center; gap: 5px; }
.hc-arow__meta svg { width: 13px !important; height: 13px !important; }

/* 9. Images and iframes/videos in article prose — never exceed container */
.hc-prose img,
.hc-prose video,
.hc-prose iframe,
.hc-prose embed {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}
.hc-prose iframe,
.hc-prose embed {
  max-height: 480px;
  aspect-ratio: 16 / 9;
}

/* ============================================================================
   PYLON NATIVE CLASS OVERRIDES — navbar + footer
   Uses !important throughout because Pylon's own stylesheet loads after ours
   and would otherwise win on every property.
   ========================================================================== */

/* ---- NAVBAR --------------------------------------------------------------- */
.kb-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  background: #4d3c38 !important;
  transition: background 280ms ease, backdrop-filter 280ms ease !important;
  backdrop-filter: blur(30px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
  border-bottom: 1px solid rgba(250,246,242,.12) !important;
  font-family: var(--font-sans) !important;
  box-shadow: none !important;
}
/* Idle = solid #4d3c38 (above). Once the page scrolls, switch to the
   translucent frosted-glass state so content blurs through underneath.
   The .is-scrolled class is toggled by scripts.js. */
.kb-header.is-scrolled {
  background: rgba(61, 48, 44, 0.62) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
}
.kb-header-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 64px !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
/* Logo — Henry wordmark + "Help Center" tag */
.kb-header-logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.kb-header-logo img {
  height: 28px !important;
  width: auto !important;
  display: block !important;
}
.kb-header-logo .hc-wordmark {
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: #FAF6F2 !important;
  line-height: 1 !important;
}
/* "Help Center" label */
.kb-header-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: rgba(250,246,242,.55) !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(250,246,242,.20) !important;
  white-space: nowrap !important;
}
/* Right side nav */
.kb-header-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  background: transparent !important;
}
/* Text nav links */
.kb-header-link {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color 140ms !important;
}
.kb-header-link:hover { color: #FAF6F2 !important; }
/* Build Decks CTA button */
.kb-header-cta {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--kafe-700) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  height: 36px !important;
  box-sizing: border-box !important;
  transition: background 140ms !important;
}
.kb-header-cta:hover { background: var(--kafe-600) !important; }
/* Auth + locale — far right after the CTA */
#kb-auth, #kb-locale {
  display: flex !important;
  align-items: center !important;
  color: rgba(250,246,242,.70) !important;
  flex: none !important;
}
/* Pylon injects an avatar image + "Logout" into #kb-auth. Render it as a
   compact rounded box that matches the Build Decks button height. */
#kb-auth img {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}
#kb-auth button,
#kb-auth a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: rgba(250,246,242,.78) !important;
  background: rgba(250,246,242,.07) !important;
  border: 1px solid rgba(250,246,242,.16) !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background 140ms !important;
}
#kb-auth button:hover,
#kb-auth a:hover { background: rgba(250,246,242,.12) !important; }
#kb-auth > * { max-height: 36px !important; }
/* Hamburger */
.kb-header-hamburger {
  display: none !important;
  background: transparent !important;
  border: none !important;
  color: #FAF6F2 !important;
  cursor: pointer !important;
  padding: 4px !important;
}
@media (max-width: 768px) {
  .kb-header-hamburger { display: flex !important; }
}
/* Mobile nav */
.kb-header-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 12px 24px 16px !important;
  background: var(--kafe-900) !important;
  border-top: 1px solid rgba(250,246,242,.10) !important;
}
.kb-header--menu-open .kb-header-mobile-nav { display: flex !important; }
.kb-header-mobile-link {
  color: rgba(250,246,242,.80) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  padding: 8px 0 !important;
}

/* ---- FOOTER --------------------------------------------------------------- */
.kb-footer {
  background: var(--kafe-900) !important;
  color: var(--kafe-100) !important;
  margin-top: 32px !important;
  font-family: var(--font-sans) !important;
  border-top: none !important;
}
.kb-footer-divider { display: none !important; }
.kb-footer-content { padding: 0 !important; background: transparent !important; }
.kb-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 64px 32px 32px !important;
}
/* Henry wordmark in footer */
.kb-footer-inner .hc-wordmark {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #FAF6F2 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.kb-footer-inner .hc-footer__tagline {
  font-size: 14px !important;
  color: rgba(250,246,242,.50) !important;
  line-height: 1.5 !important;
  max-width: 260px !important;
  margin: 0 !important;
}
/* Three-column layout */
.hc-footer__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__cols {
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hc-footer__col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 120px !important;
}
.hc-footer__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,242,.40) !important;
  margin-bottom: 4px !important;
}
.hc-footer__col a {
  font-size: 14px !important;
  color: rgba(250,246,242,.65) !important;
  text-decoration: none !important;
  transition: color 150ms !important;
}
.hc-footer__col a:hover { color: #FAF6F2 !important; }
/* Hide Pylon's kb-footer-bottom (logo + powered-by) */
.kb-footer-bottom { display: none !important; }
.kb-powered-by    { display: none !important; }
/* Legal bar */
.kb-footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 48px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250,246,242,.12) !important;
  font-size: 12px !important;
}
.kb-footer-legal-links { display: flex !important; gap: 20px !important; }
.kb-footer-legal-links a { color: rgba(250,246,242,.40) !important; text-decoration: none !important; }
.kb-footer-legal-links a:hover { color: rgba(250,246,242,.80) !important; }
.kb-footer-copyright { color: rgba(250,246,242,.40) !important; }

/* ============================================================================
   PATCH 3 — article row brief description line
   ========================================================================== */
.hc-arow__desc {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: 3px;
  line-height: 1.5;
}
/* Ensure empty desc (no slug match) doesn't add blank space */
.hc-arow__desc:empty { display: none; }

/* ============================================================================
   WHAT'S NEW changelog article — full-bleed wrapper
   The standalone What's New article (slug "whats-new") renders its timeline
   body full-width, not inside the narrow prose column.
   ========================================================================== */
.hc-wn-page { display: block; width: 100%; }
/* Neutralize any prose constraints if Pylon wraps the body */
.hc-wn-page > .hc-wn-hero,
.hc-wn-page > .hc-wn-feed { max-width: none; }

/* ============================================================================
   PYLON SEARCH RESULTS — styling for the live results panel
   Pylon ships these classes UNSTYLED (icons balloon to 600px, items render
   inline). We make the results a clean dropdown card anchored under the
   search input, with correctly sized icons. Works for both the homepage hero
   search and the navbar search on collection/article pages.
   ========================================================================== */

/* The mount becomes the positioning anchor reference via its wrapper */
#kb-search-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 300; }
#kb-search-results:empty { display: none; }

/* Anchor: the wrappers that hold #kb-search + #kb-search-results must be relative */
.hc-search { position: relative; }
.hc-nav__search { position: relative; }

/* Results card */
.kb-search-results-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin-top: var(--space-2);
  background: var(--surface-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  text-align: left;
  max-height: 70vh;
  overflow-y: auto;
}

.kb-search-results-list { display: block; padding: var(--space-2); }

/* Each result = a clean row/card */
.kb-search-result-item {
  display: block !important;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md, 12px);
  text-decoration: none;
  color: var(--text-strong);
  transition: background 140ms ease;
}
.kb-search-result-item:hover { background: var(--masala-50); }

/* Breadcrumb row above each title */
.kb-search-result-breadcrumbs {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-muted);
  margin-bottom: 4px;
}
.kb-search-result-breadcrumb-segment { display: inline-flex; align-items: center; }

/* THE FIX for giant icons: clamp every svg inside the results */
#kb-search-results svg { width: 14px !important; height: 14px !important; flex: 0 0 auto; }
.kb-search-result-breadcrumbs .contents svg { width: 14px !important; height: 14px !important; }

/* Title + highlight */
.kb-search-result-title {
  font-family: var(--font-sans);
  font-size: 15px; font-weight: 600; color: var(--text-strong);
  line-height: 1.35;
}
.kb-search-result-highlight {
  font-size: 13px; color: var(--text-muted);
  margin-top: 2px; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.highlight-result { background: rgba(117,47,24,.12); color: var(--kafe-700); border-radius: 3px; padding: 0 2px; }

/* Filter section (Pylon shows a 'filter by collection' block) */
.kb-search-filter { border-top: 1px solid var(--masala-100); padding: var(--space-3) var(--space-4); }
.kb-search-filter-heading { font-size: 12px; font-weight: 600; color: var(--text-faint); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--space-2); }
.kb-search-filter-section-title { font-size: 13px; color: var(--text-muted); }

/* Empty/no-results state */
.kb-search-no-results { padding: var(--space-5); text-align: center; color: var(--text-muted); font-size: 14px; }

/* ----------------------------------------------------------------------------
   Pylon search results — "Filter results by" checkbox list
   The native checkbox renders huge (566x60) without theme CSS. Hide it and
   show Pylon's custom checkbox span as a small rust-branded box.
   -------------------------------------------------------------------------- */
.kb-search-filter-checkboxes { display: flex; flex-direction: column; gap: 4px; margin-top: var(--space-2); }
.kb-filter-checkbox-label {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 10px; cursor: pointer;
  position: relative; transition: background 140ms ease;
}
.kb-filter-checkbox-label:hover { background: var(--masala-50); }

/* Hide the giant native checkbox but keep its full clickable area */
.kb-filter-checkbox-input {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}

/* Custom checkbox box (Pylon's span, holds a checkmark svg) */
.kb-filter-checkbox-custom {
  flex: 0 0 auto; width: 18px; height: 18px;
  border: 1.5px solid var(--border-default); border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 140ms ease, border-color 140ms ease;
}
.kb-filter-checkbox-custom svg { width: 12px !important; height: 12px !important; color: #fff; opacity: 0; }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom { background: var(--kafe-700); border-color: var(--kafe-700); }
.kb-filter-checkbox-input:checked + .kb-filter-checkbox-custom svg { opacity: 1; }

/* Label content: small leading icon + text */
.kb-filter-checkbox-content { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; color: var(--text-strong); }
.kb-filter-icon svg { width: 15px !important; height: 15px !important; color: var(--text-muted); }

/* ----------------------------------------------------------------------------
   What's New — controls row: type tabs (left) + month filter dropdown (right)
   -------------------------------------------------------------------------- */
.hc-wn-controls {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-5); flex-wrap: wrap;
}
.hc-wn-controls .hc-wn-tabs { margin-top: 0; flex: 1 1 auto; }

/* Custom month dropdown */
.hc-wn-filter { position: relative; display: inline-flex; flex: 0 0 auto; padding-bottom: var(--space-3); }
.hc-wn-filter__btn {
  display: inline-flex; align-items: center; gap: 7px; height: 44px; padding: 0 14px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); font-family: var(--font-sans); font-size: var(--text-sm);
  font-weight: 600; color: var(--text-strong); cursor: pointer; white-space: nowrap;
  transition: border-color 140ms, box-shadow 140ms;
}
.hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.hc-wn-filter__btn .hc-icon { width: 16px; height: 16px; }
.hc-wn-filter__chevron { transition: transform 180ms var(--ease-out); }
.hc-wn-filter.is-open .hc-wn-filter__chevron { transform: rotate(180deg); }

.hc-wn-filter__menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 236px; z-index: 300;
  background: var(--surface-card); border: 1px solid var(--border-default);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  padding: 6px; opacity: 0; pointer-events: none;
  transform: translateY(-6px); transition: opacity 150ms var(--ease-out), transform 150ms var(--ease-out);
}
.hc-wn-filter.is-open .hc-wn-filter__menu { opacity: 1; pointer-events: all; transform: translateY(0); }

.hc-wn-filter__option {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 10px; border: none; background: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-sm); color: var(--text-strong);
  border-radius: 8px; text-align: left; transition: background 120ms;
}
.hc-wn-filter__option:hover { background: var(--masala-50); }
.hc-wn-filter__check {
  width: 18px; height: 18px; flex: none; border: 1.5px solid var(--border-default);
  border-radius: 5px; display: inline-flex; align-items: center; justify-content: center;
  background: #fff; transition: background 120ms, border-color 120ms;
}
.hc-wn-filter__check svg { width: 12px; height: 12px; color: #fff; opacity: 0; }
.hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-700); border-color: var(--kafe-700); }
.hc-wn-filter__option.is-selected .hc-wn-filter__check svg { opacity: 1; }
.hc-wn-filter__option-label { flex: 1 1 auto; }
.hc-wn-filter__option-count { font-size: var(--text-xs); color: var(--text-faint); }

/* Dusk (dark) variants on the What's New page */
.theme-dusk.is-whatsnew .hc-wn-filter__btn {
  background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100);
}
.theme-dusk.is-whatsnew .hc-wn-filter__btn:hover { border-color: var(--kafe-400); }
.theme-dusk.is-whatsnew .hc-wn-filter__menu { background: var(--kafe-900); border-color: rgba(250,246,242,.14); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.theme-dusk.is-whatsnew .hc-wn-filter__option { color: var(--kafe-100); }
.theme-dusk.is-whatsnew .hc-wn-filter__option:hover { background: rgba(255,255,255,.06); }
.theme-dusk.is-whatsnew .hc-wn-filter__check { background: rgba(255,255,255,.06); border-color: rgba(250,246,242,.25); }
.theme-dusk.is-whatsnew .hc-wn-filter__option.is-selected .hc-wn-filter__check { background: var(--kafe-500); border-color: var(--kafe-500); }

@media (max-width: 700px) {
  .hc-wn-controls { align-items: stretch; }
  .hc-wn-filter { padding-bottom: 0; width: 100%; }
  .hc-wn-filter__btn { width: 100%; justify-content: space-between; }
  .hc-wn-filter__menu { left: 0; right: 0; }
}

/* ============================================================================
   PYLON RICH-TEXT BLOCKS — callouts + blockquotes
   Pylon's editor outputs these but ships no styling for them, so without these
   rules a callout renders as plain text and a blockquote has an invisible bar.
   Callouts carry data-color (blue/green/yellow/red/purple/gray) and data-icon.
   ========================================================================== */

/* --- Callout box --- */
.hc-prose [data-type="callout"] {
  position: relative; margin: var(--space-5) 0; padding: 16px 18px 16px 48px;
  border-radius: 12px; border: 1px solid var(--border-default);
  background: var(--surface-card); color: var(--text-body);
  font-size: 15px; line-height: 1.6;
}
.hc-prose [data-type="callout"] > :first-child { margin-top: 0; }
.hc-prose [data-type="callout"] > :last-child { margin-bottom: 0; }

/* Generic icon dot (used when a specific icon isn't mapped) */
.hc-prose [data-type="callout"]::before {
  content: ""; position: absolute; left: 17px; top: 18px; width: 20px; height: 20px;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  /* default: lightbulb */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23752F18" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>');
}

/* Colour variants — soft tinted background + matching border + icon tint */
.hc-prose [data-type="callout"][data-color="blue"]   { background: #eef4fb; border-color: #cfe0f3; color: #1c3d5c; }
.hc-prose [data-type="callout"][data-color="blue"]::before   { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231c3d5c" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V18h6v-1.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z"/></svg>'); }

.hc-prose [data-type="callout"][data-color="green"]  { background: #eef6ef; border-color: #cfe6d2; color: #1f4d2b; }
.hc-prose [data-type="callout"][data-color="green"]::before  { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231f4d2b" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="M22 4 12 14.01l-3-3"/></svg>'); }

.hc-prose [data-type="callout"][data-color="yellow"],
.hc-prose [data-type="callout"][data-color="orange"] { background: #fbf3e6; border-color: #f0ddbf; color: #6b4a17; }
.hc-prose [data-type="callout"][data-color="yellow"]::before,
.hc-prose [data-type="callout"][data-color="orange"]::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b4a17" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4M12 17h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="red"]    { background: #fbeeee; border-color: #f1cfcf; color: #6b1f1f; }
.hc-prose [data-type="callout"][data-color="red"]::before    { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%236b1f1f" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg>'); }

.hc-prose [data-type="callout"][data-color="purple"] { background: #f3eefb; border-color: #ddcff3; color: #422c66; }
.hc-prose [data-type="callout"][data-color="gray"],
.hc-prose [data-type="callout"][data-color="grey"]   { background: var(--masala-50); border-color: var(--border-default); color: var(--text-body); }

/* On the dusk (dark) pages, soften the callout so tints read on dark */
.theme-dusk.is-whatsnew .hc-prose [data-type="callout"] { background: rgba(255,255,255,.05); border-color: rgba(250,246,242,.16); color: var(--kafe-100); }

/* --- Blockquote --- */
.hc-prose blockquote {
  margin: var(--space-5) 0; padding: 4px 0 4px 20px;
  border-left: 3px solid var(--kafe-700);
  color: var(--text-body); font-style: normal;
}
.hc-prose blockquote p:last-child { margin-bottom: 0; }
.theme-dusk.is-whatsnew .hc-prose blockquote { border-left-color: var(--kafe-300); }

/* ============================================================================
   404 / PAGE NOT FOUND — Pylon renders this page itself (kb-not-found-*).
   Center the message, style it to the theme, and style the injected
   support line (added by scripts.js).
   ========================================================================== */
.kb-not-found-content-wrapper {
  display: flex; align-items: center; justify-content: center;
  min-height: 52vh; padding: 64px 24px;
}
.kb-not-found-message { text-align: center; max-width: 620px; margin: 0 auto; }
.kb-not-found-title {
  font-family: var(--font-sans); font-size: var(--text-3xl); font-weight: 700;
  letter-spacing: -0.02em; color: var(--text-strong); margin: 0 0 12px;
}
.kb-not-found-description { font-size: var(--text-md); color: var(--text-muted); margin: 0; }
.hc-nf-support {
  margin-top: 20px; font-size: var(--text-base); color: var(--text-muted); line-height: 1.6;
}
.hc-nf-support a { color: var(--text-brand); font-weight: 600; }
.hc-nf-support a:hover { color: var(--brand-active); }
.hc-nf-actions { margin-top: 24px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }