/* =====================================================================
   Nanca · v20
   Marca: Clash Grotesk + Manrope · Blue Lavanda #7688F7 · Green Lime #DFF37A
   Cinnamon #EEECCD · Deep Ocean #3B43B0 · Green Grass #A8C300
   ===================================================================== */
@font-face { font-family: "Clash"; src: url(data:font/otf;base64,T1RUTwAMAIAAAwBAQ0ZGIG5FmfIAAAuAAABFtEdERUYeUR54AABRNAAAALRHUE9TFPrLXwAAUegAADQAR1NVQrD6nvUAAIXoAAAGNE9TLzJYQfEIAAABMAAAAGBjbWFw1SCXvQAABvwAAARiaGVhZB1yNOYAAADMAAAANmhoZWEJaAbDAAABBAAAACRobXR4zTdK+gAAjBwAAAb0bWF4cAG9UAAAAAEoAAAABm5hbWWKj7KVAAABkAAABWpwb3N0/3cARgAAC2AAAAAgAAEAAAABAEIRZjCWXw889QADA+gAAAAA3DQkSQAAAADclczW/zT/KAZdA3oAAAAGAAIAAAAAAAAAAQAAA3r/BgBaBsv/NP80Bl0AAQAAAAAAAAAAAAAAAAAAAb0AAFAAAb0AAAAEAjEB9AAFAAACigJYAAAASwKKAlgAAAFeADIBLAAAAAAAAAAAAAAAAIAAAEcAAAAAAAAAAAAAAABJVEZPAMAADfsEA3r/BgBaA3oA+iAAAJMAAAAAAfECngAAACAAAwAAABAAxgADAAEECQAAAHoAAAADAAEECQABACgAegADAAEECQACAA4AogADAAEECQADADwAsAADAAEECQAEACgAegADAAEECQAFABoA7AADAAEECQAGACYBBgADAAEECQAHAGABLAADAAEECQAIACYBjAADAAEECQAJACQBsgADAAEECQALADoB1gADAAEECQAMAFwCEAADAAEECQANAdwCbAADAAEECQAOADYESAADAAEECQAQABoEfgADAAEECQARAAwEmABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADcALQAyADAAMgAxACAASQBuAGQAaQBhAG4AIABUAHkAcABlACAARgBvAHUAbgBkAHIAeQAuACAAQQBsAGwAIAByAGkAZwBoAHQAcwAgAHIAZQBzAGUAcgB2AGUAZAAuAEMAbABhAHMAaAAgAEcAcgBvAHQAZQBzAGsAIABNAGUAZABpAHUAbQBSAGUAZwB1AGwAYQByADEALgAwADAAMQA7AEkAVABGAE8AOwBDAGwAYQBzAGgARwByAG8AdABlAHMAawAtAE0AZQBkAGkAdQBtAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADEAQwBsAGEAcwBoAEcAcgBvAHQAZQBzAGsALQBNAGUAZABpAHUAbQBDAGwAYQBzAGgAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIAB0AGgAZQAgAEkAbgBkAGkAYQBuACAAVAB5AHAAZQAgAEYAbwB1AG4AZAByAHkALgBJAG4AZABpAGEAbgAgAFQAeQBwAGUAIABGAG8AdQBuAGQAcgB5AFMAaABpAHYAYQAgAE4AYQBsAGwAYQBwAGUAcgB1AG0AYQBsAGgAdAB0AHAAcwA6AC8ALwBpAG4AZABpAGEAbgB0AHkAcABlAGYAbwB1AG4AZAByAHkALgBjAG8AbQB3AHcAdwAuAGYAbwBuAHQAcwB0AG8AcgBlAC4AYwBvAG0ALwBkAGUAcwBpAGcAbgBlAHIAcwAvAHMAaABpAHYAYQAtAG4AYQBsAGwAYQBwAGUAcgB1AG0AYQBsAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAcAByAG8AdABlAGMAdABlAGQAIAB1AG4AZABlAHIAIABkAG8AbQBlAHMAdABpAGMAIABhAG4AZAAgAGkAbgB0AGUAcgBuAGEAdABpAG8AbgBhAGwAIAB0AHIAYQBkAGUAbQBhAHIAawAgAGEAbgBkACAAYwBvAHAAeQByAGkAZwBoAHQAIABsAGEAdwAuACAAWQBvAHUAIABhAGcAcgBlAGUAIAB0AG8AIABpAGQAZQBuAHQAaQBmAHkAIAB0AGgAZQAgAEkAVABGACAAZgBvAG4AdABzACAAYgB5ACAAbgBhAG0AZQAgAGEAbgBkACAAYwByAGUAZABpAHQAIAB0AGgAZQAgAEkAVABGACcAcwAgAG8AdwBuAGUAcgBzAGgAaQBwACAAbwBmACAAdABoAGUAIAB0AHIAYQBkAGUAbQBhAHIAawBzACAAYQBuAGQAIABjAG8AcAB5AHIAaQBnAGgAdABzACAAaQBuACAAYQBuAHkAIABkAGUAcwBpAGcAbgAgAG8AcgAgAHAAcgBvAGQAdQBjAHQAaQBvAG4AIABjAHIAZQBkAGkAdABzAC4AaAB0AHQAcABzADoALwAvAGYAbwBuAHQAcwBoAGEAcgBlAC4AYwBvAG0ALwB0AGUAcgBtAHMAQwBsAGEAcwBoACAARwByAG8AdABlAHMAawBNAGUAZABpAHUAbQAAAAAAAgAAAAMAAAAU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b3RhY2NlbnRFbWFjcm9uRW9nb25la0V0aWxkZUdicmV2ZUdjaXJjdW1mbGV4R2NvbW1hYWNjZW50R2RvdGFjY2VudEhiYXJIY2lyY3VtZmxleElicmV2ZUlkb3RhY2NlbnRJbWFjcm9uSW9nb25la0l0aWxkZUpjaXJjdW1mbGV4SUpJSmFjdXRlS2NvbW1hYWNjZW50TGFjdXRlTGNhcm9uTGNvbW1hYWNjZW50TGRvdE5hY3V0ZU5jYXJvbk5jb21tYWFjY2VudEVuZ09icmV2ZU9odW5nYXJ1bWxhdXRPbWFjcm9uT3NsYXNoYWN1dGVSYWN1dGVSY2Fyb25SY29tbWFhY2NlbnRTYWN1dGVTY2VkaWxsYVNjaXJjdW1mbGV4U2NvbW1hYWNjZW50VGJhclRjYXJvblRjZWRpbGxhVGNvbW1hYWNjZW50VWJyZXZlVWh1bmdhcnVtbGF1dFVtYWNyb25Vb2dvbmVrVXJpbmdVdGlsZGVXYWN1dGVXY2lyY3VtZmxleFdkaWVyZXNpc1dncmF2ZVljaXJjdW1mbGV4WWdyYXZlWXRpbGRlWmFjdXRlWmRvdGFjY2VudGFicmV2ZWFtYWNyb25hb2dvbmVrY2FjdXRlY2Nhcm9uY2NpcmN1bWZsZXhjZG90YWNjZW50ZGNhcm9uZGNyb2F0ZWJyZXZlZWNhcm9uZWRvdGFjY2VudGVtYWNyb25lb2dvbmVrZXRpbGRlZ2JyZXZlZ2NpcmN1bWZsZXhnY29tbWFhY2NlbnRnZG90YWNjZW50aGJhcmhjaXJjdW1mbGV4aWJyZXZlaWRvdGFjY2VudGltYWNyb25pb2dvbmVraXRpbGRlZG90bGVzc2pqY2lyY3VtZmxleGlqaWphY3V0ZWtjb21tYWFjY2VudGxhY3V0ZWxjYXJvbmxjb21tYWFjY2VudGxkb3RuYWN1dGVuY2Fyb25uY29tbWFhY2NlbnRlbmdvYnJldmVvaHVuZ2FydW1sYXV0b21hY3Jvbm9zbGFzaGFjdXRlcmFjdXRlcmNhcm9ucmNvbW1hYWNjZW50c2FjdXRlc2NlZGlsbGFzY2lyY3VtZmxleHNjb21tYWFjY2VudHRiYXJ0Y2Fyb250Y2VkaWxsYXRjb21tYWFjY2VudHVicmV2ZXVodW5nYXJ1bWxhdXR1bWFjcm9udW9nb25la3VyaW5ndXRpbGRld2FjdXRld2NpcmN1bWZsZXh3ZGllcmVzaXN3Z3JhdmV5Y2lyY3VtZmxleHlncmF2ZXl0aWxkZXphY3V0ZXpkb3RhY2NlbnRFdXJvaW5kaWFucnVwZWVub3RlcXVhbGFwcHJveGVxdWFsbGVzc2VxdWFsZ3JlYXRlcmVxdWFsaW5maW5pdHlsb3plbmdlcmFkaWNhbGludGVncmFscGFydGlhbGRpZmZwcm9kdWN0cGlzdW1tYXRpb25PbWVnYWVzdGltYXRlZHNvZnRoeXBoZW5uYnNwYWNlT2htYWN1dGVjb21iYWN1dGVjb21iLmNhc2VicmV2ZWNvbWJicmV2ZWNvbWIuY2FzZWNhcm9uY29tYmNhcm9uY29tYi5hbHRjYXJvbmNvbWIuYWx0LmNhc2VjYXJvbmNvbWIuY2FzZWNlZGlsbGFjb21iY2VkaWxsYWNvbWIuY2FzZWNpcmN1bWZsZXhjb21iY2lyY3VtZmxleGNvbWIuY2FzZWNvbW1hYWNjZW50Y29tYmNvbW1hYWNjZW50Y29tYi5jYXNlY29tbWF0dXJuZWRhYm92ZWNvbWJkaWVyZXNpc2NvbWJkaWVyZXNpc2NvbWIuY2FzZWRvdGFjY2VudGNvbWJkb3RhY2NlbnRjb21iLmNhc2VncmF2ZWNvbWJncmF2ZWNvbWIuY2FzZWh1bmdhcnVtbGF1dGNvbWJodW5nYXJ1bWxhdXRjb21iLmNhc2VtYWNyb25jb21ibWFjcm9uY29tYi5jYXNlb2dvbmVrY29tYm9nb25la2NvbWIuY2FzZXJpbmdjb21icmluZ2NvbWIuY2FzZXNsYXNobG9uZ2NvbWJzbGFzaGxvbmdjb21iLmNhc2VzbGFzaHNob3J0Y29tYnNsYXNoc2hvcnRjb21iLmNhc2VzdHJva2Vsb25nY29tYnN0cm9rZXNob3J0Y29tYnN0cm9rZXNob3J0Y29tYi5jYXNldGlsZGVjb21idGlsZGVjb21iLmNhc2VkLmNvbXBvbmVudGguY29tcG9uZW50Zl9iZl9mX2JmX2ZfaGZfZl9pZl9mX2pmX2Zfa2ZfZl9sZl9oZl9qZl9remVyby5zdXBlcmlvcmZvdXIuc3VwZXJpb3JJVEYxLjFDbGFzaCBpcyBhIHRyYWRlbWFyayBvZiB0aGUgSW5k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AAAAAAQyAAAEOAAAAAAEPgREBEoAAARQBFYEXARiBGgAAARuAAAEdAAAAAAEegAABIAAAAAABIYAAASMAAAAAAfuAAAEkgAAAAAEmAAABJ4AAAAABKQAAASqAAAAAASwAAAEtgAAAAAEvAAABMIEyAAABM4AAATUAAAAAAfuAAAAAAAAAAAE2gTgBOYAAATsBPIAAAT4AAAE/gABAVwCngABAVwAAAABAq4AAAABATwCngABATwAAAABAVoCngABAVcAAAABAUkCngABAMYBTwABASgCngABAR8AAAABAhcAAAABARkCngABAU0CngABAU0AAAABAU0CGgABAcUCngABARkAAAABATsCngABAUsAAAABAGkCngABAY4B8QABAM8BegABAacCngABAacAAAABAU4AAAABAqUCngABAbEAAAABAV0BUAABATACngABATAAAAABAV0CngABAS4CngABASACngABASAAAAABASABXQABAVMCngABAVMAAAABAe8CngABAe8AAAABAWMCngABAWMAAAABAT0CngABAT0AAAABAScCngABAmUCngABAg8AAAABAm4BTwABAQMB8QABAQYAAAABAdoAAAABAQ8B8QABARAAAAABAnAB8QABAWIBtQABAQ0B8QABAQ0AAAABAVIAAAABAKECngABAKEAAAABARMB8QABARP/VgABAGsCngABAR0AAAABAQcB8QABAScAAAABAScBTwABAGgCngABAGsAAAABAG8BjQABAcMB8QABAcMAAAABAR0B8QABARcB8QABAhoB8QABARcAAAABAfYACgABARcA+QABAR4B8QABAR4AAAABAPcB8QABAG0AAAABAPgB8QABAPgAAAABALoB8QABASwCYwABALoAAAABAMYBCwABARsB8QABAiUB8QABARwAAAABAgQAAAABARIB8QABARIAAAABAZEB8QABAZEAAAABAQsB8QABAQsAAAABARH/VgABAQkB8QABAQkAAAABAbQB8QABAbQAAAABAU4CngABAV0AAAABAGQB8QABAGQAAAABAJoAAAABAGwB8QABAGz/VgABATEB8QABAk0B8QABATEAAAABAZECLgABAS4B8QABAS4AAAABANACLgAFAAAAAQAIAAEADAAWAAUAHgC+AAIAAQGGAasAAAABAAIAQABtACYAAAK4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AAIBLv/YAUb/2AACAS4AFAFGAAEAAgEu/94BRv/yAAIBLv+7AUYAAQACAUb/7QFN//EAhwAEAAQABv/dAAr/3QAS/90AFP/dABn/wAAa/8AAHP+sAB4ABAAfAAQAIP/dACP/8gAk//IAJf/yACb/2AAn//IAKgAxAC//8gAx//IAM//YADT/2AA2/94AN//eADgADgA5//sAPf/yAD7/2AA//9gAQP/YAEIABABDAAQARAAEAEUABABGAAQARwAEAEgABABJAAQASgAEAEv/3QBM/90ATf/dAE7/3QBP/90AXf/dAF7/3QBf/90AYP/dAHr/3QB7/90AfP/dAH3/3QB+/90Af//dAID/3QCB/90Agv/dAIP/3QCb/8AAnP/AAJ3/wACe/8AAn/+sAKD/rACh/6wAov+sAKP/rACw//IAsf/yALL/8gCz//IAtP/yALX/8gC2//IAt//yALj/8gC5//IAuv/yALv/8gC8//IAvf/yAL7/8gC///IAwP/yAMH/8gDSADEA0wAxAOH/8gDi//IA4//yAOT/8gDl//IA5v/yAOf/8gDo//IA6f/yAOr/8gDv/9gA8P/YAPH/2ADy/9gA8//YAPX/2AD2/9gA9//YAPj/2AED/94BBP/eAQX/3gEG/94BB//7AQj/+wEJ//sBCv/7AQv/+wFW/+MBV/+7AVn/4wFa/9gBW//jAVz/4gFe/+gBX//oAaz/8gGu/9gBr//YAbD/2AGx/9gBsv/YAbP/2AG0/9gBtf/YAbb/2AG3/9gBuP/YAbn/2AAbABz/8gAmAA4ANAAOAD4ADgA/AA4AQAAOAJ//8gCg//IAof/yAKL/8gCj//IA9QAOAPYADgD3AA4A+AAOAa4ADgGvAA4BsAAOAbEADgGyAA4BswAOAbQADgG1AA4BtgAOAbcADgG4AA4BuQAOANwABP/KAAX/8gAG//EAB//yAAj/8gAJ//IACv/xAAv/8gAM//IADv/yAA//8gAQ//IAEf/yABL/8QAT//IAFP/xABX/8gAY//IAGf/sABr/7AAc//IAHv/KAB//ygAg//EAIf/oACL/8gAj/+gAJP/oACX/6AAn/+gAKP/yACn/9gAq//YAK//yACz/8gAv/+gAMf/oADP/2AA2//IAN//yADj//wA5AAEAOv/tADv/6AA8/+gAPf/oAEL/ygBD/8oARP/KAEX/ygBG/8oAR//KAEj/ygBJ/8oASv/KAEv/8QBM//EATf/xAE7/8QBP//EAUP/yAFH/8gBS//IAU//yAFT/8gBV//IAVv/yAFf/8gBY//IAWf/yAFr/8gBb//IAXP/yAF3/8QBe//EAX//xAGD/8QBh//IAYv/yAGP/8gBk//IAZf/yAGb/8gBn//IAaP/yAGn/8gBq//IAa//yAG3/8gBv//IAcP/yAHH/8gBy//IAc//yAHT/8gB1//IAdv/yAHf/8gB4//IAef/yAHr/8QB7//EAfP/xAH3/8QB+//EAf//xAID/8QCB//EAgv/xAIP/8QCE//IAhf/yAIb/8gCH//IAkf/yAJL/8gCT//IAlP/yAJX/8gCW//IAl//yAJj/8gCZ//IAmv/yAJv/7ACc/+wAnf/sAJ7/7ACf//IAoP/yAKH/8gCi//IAo//yAKf/6ACo/+gAqf/oAKr/6ACr/+gArP/oAK3/6ACu/+gAr//oALD/6ACx/+gAsv/oALP/6AC0/+gAtf/oALb/6AC3/+gAuP/oALn/6AC6/+gAu//oALz/6AC9/+gAvv/oAL//6ADA/+gAwf/oAMb/8gDH//IAyP/2AMn/9gDL//YAzP/2AM3/9gDO//YAz//2AND/9gDR//YA0v/2ANP/9gDU//YA1v/yANf/8gDY//IA2f/yANr/8gDb//IA4f/oAOL/6ADj/+gA5P/oAOX/6ADm/+gA5//oAOj/6ADp/+gA6v/oAOv/8gDv/9gA8P/YAPH/2ADy/9gA8//YAPT/8gED//IBBP/yAQX/8gEG//IBBwABAQgAAQEJAAEBCgABAQsAAQEM/+0BDf/tAQ7/7QFW//YBVwAHAVkACgFa/8QBW//2AVz/+AFdAAYBXv/4AV//9gGs/+gBrf/yAB0ABP/iAA3/7AAe/+IAH//iACH/8QA7//EAPP/xAEL/4gBD/+IARP/iAEX/4gBG/+IAR//iAEj/4gBJ/+IASv/iAGz/7ACn//EAqP/xAKn/8QCq//EAq//xAKz/8QCt//EArv/xAK//8QFYAAoBWv/nAV3//wAQAAP/7AAZABQAGgAUABwAFACbABQAnAAUAJ0AFACeABQAnwAUAKAAFAChABQAogAUAKMAFAFY//wBWv/sAV0AFAAEACoAMQDSADEA0wAxAVr/8QACAS7/4wFG//YAAgEu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AgwAHwI8ADUCFgAhAjwAIQIbACEBQQAGAjwAIQI5ADUAyQAuANj/0wINADUA1gA1A4UANQI2ADUCLgAhAjwAMQI8ACEBzwA1Ae8AKAFzAAkCOQAyAiMABgMhAAsCFgAGAiIADQISAB4DbgAfA24AHwOiACECZgAGAocABgKbAA0CmwANArgACQK4AAkCuAAJArgACQK4AAkCuAAJArgACQK4AAkCuAAJAqIAJAKiACQCogAkAqIAJAKiACQCmgA4AtcACgLXAAoCPwA4Aj8AOAI/ADgCPwA4Aj8AOAI/ADgCPwA4Aj8AOAI/ADgCPwA4ArgAIQK4ACECuAAhArgAIQLS//4CmQA4ANwAOADc/8gA3P/dANz/qQDc/+gA3AA4ANz/4wDcABEA3P/TAjIADQL/ADgC/wA4AnYAOAIbADcCGwA4AhsAOAIbADgCTQAKApwAOAKcADgCnAA4ApwAOAKcADgCuQAkArkAJAK5ACQCuQAkArkAJAK5ACQCuQAkArn//wK5//8CuQAkAl8AOAJqADgCagA4AmoAOAJcADICXAAyAlwAMgJcADICXAAyAj8ABgI/AAYCPwAGAj8ABgKmADYCpgA2AqYANgKmADYCpgA2AqYANgKmADYCpgA2AqYANgKmADYD4AAWA+AAFgPgABYD4AAWAnoAAwJ6AAMCegADAnoAAwJ6AAMCTgAXAk4AFwJOABcCDAAfAgwAHwIMAB8CDAAfAgwAHwIMAB8CDAAfAgwAHwIMAB8CFgAhAhYAIQIWACECFgAhAhYAIQKlACECYQAhAoMARAIbACECGwAhAhsAIQIbACECGwAhAhsAIQIbACECGwAhAhsAIQIbACECPAAhAjwAIQI8ACECPAAhAlwACgI5/8UAyAAuAMj/3gDJAC4AyP++AMj/0wDIAC4AyP+sAMj/2QDJAAgAyP/JANj/0wDY/8YBswAuAbIALgINADUA1gA1AT8ANQDW/9MBZQAHAS0ANQI2ADUCNgA1AjYANQI2ADUCNgA1Ai4AIQIuACECLgAhAi4AIQIuACECLgAhAi4AIQIuAAACLgAAAi4AIQJEADUBzwA1Ac8ANQHP/9UB7wAoAe8AKAHvACgB7wAoAe8AKAI3AC4BcwAJAXMACQFzAAkBcwAJAjkAMgI5ADICOQAyAjkAMgI5ADICOQAyAjkAMgI5ADICOQAyAjkAMgMhAAsDIQALAyEACwMhAAsCIgANAiIADQIiAA0CIgANAiIADQISAB4CEgAeAhIAHgJYAK4CWACmAlgAhgJYANECWACGAlgAmwJYAPYCWACvAlgAcwJYAKECWADVAlgAywJYAJEAzgApAMgAHwDIAB8AyAAmAMgAJgKAACkCIwAeAOcALwIjABsA5wAvAUIAMgFCAAoBMwAUATMAEQEYADgBGP/9Aav/7AGz/+wBfAAKAW0AFwHoABADPwAQAMkAMgC4ACoB7gAYAe4AHgD+ABgA/gAeAOAAHwF0AB8AyAAaAYkAGgDIAB0BiQArALkAJQFhACUBTgAsAqMAKAKBABcBvgAQAb4AEAHvACYBnAAhAigAFwGIABoC2AAgA44AMgDgACkA6AAiA0YAIgIWACECOgAPAlwAMgLKAAoBuP/QAj0AJAJWACgCtQAnAq8ANgFIABcCYAA2AlsAKAJ3AA0CfAA2AoIAOQIaABECZwAhAoIAOADoACIDBQAXBH8AFwDS/zQA4QAVAVsAHgFlACIDCwAvAucALwMnACYB4gAhAfQAIQHKACoB6AArAeIAIQHiACECHQAtAeAAFgHgACEB6gAhAd4AGAHqACgCBwAhAeAAHgHgACEC0QAiAiMAJAK6AAABQf/sAoIAHgJ2AEACjwAGAhIAMQLmACYC1gAgAW0AFwC8AAAC5gAmAlgArgJYAK8CWACmAlgApgJYAIYCWADuAlgA7gJYAIUCWADRAlgA0QJYAIYCWACGAlgAwgJYAMICWADCAlgAmwJYAJsCWAD2AlgA9gJYAK8CWACwAlgAcwJYAHQCWAChAlgAoQJYANUCWADVAlgAywJYAMsCWAAVAlj/zgJYAIACWABnAlj/wQJYAGYCWABIAlgAkQJYAJECYQAhAlwAWQN/AAYEpQAGBKIABgMtAAYDQgAGBHYABgM/AAYDfAAGAgcABgIdAAYDUAAGAhkABgGCABoBewAaBssAbg==) format("opentype"); font-weight: 500; font-display: swap; }

:root {
  --ink: #0c0d0a; --ink2: #15161a; --ink3: #202127;
  --cinn: #eeeccd; --cinn2: #e5e3c1; --cream: #f6f5e8;
  --lav: #7688f7; --lav2: #a9b4fb; --lavd: #5d6fe6;
  --lime: #dff37a; --ocean: #3b43b0; --ocean2: #2f3694; --grass: #a8c300;
  --ld: rgba(246,245,232,.12); --ld2: rgba(246,245,232,.26);
  --ll: rgba(12,13,10,.1); --ll2: rgba(12,13,10,.22);
  --display: "Clash", "Arial Narrow", sans-serif;
  --body: "Manrope", system-ui, sans-serif;
  --gut: clamp(20px, 4vw, 64px);
  --rail: 0px;
  --maxw: 1360px;
  --side: max(var(--gut), calc((100vw - var(--rail) - var(--maxw)) / 2));
  --padx: calc(var(--rail) + var(--side));
  --ease: cubic-bezier(.2,.8,.2,1);
  --ease2: cubic-bezier(.77,0,.18,1);
}
@media (min-width: 1100px) { :root { --rail: 76px; } }

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--cream); background: var(--ink); font: 400 17px/1.6 var(--body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
body.lock { overflow: hidden; }
img, video, canvas, svg { display: block; max-width: 100%; }
figure { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
h1, h2, h3, h4, p, dl, dd, ol, ul { margin: 0; }
ol, ul { padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--lav); outline-offset: 3px; }
::selection { background: var(--lav); color: #fff; }

.skip { position: fixed; z-index: 999; left: 1rem; top: -4rem; padding: .7rem 1rem; background: var(--lime); color: var(--ink); }
.skip:focus { top: 1rem; }
.lab { font-family: var(--body); font-weight: 600; font-size: .74rem; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.big { font-family: var(--display); font-weight: 500; font-size: clamp(2.6rem, 5.6vw, 6.2rem); line-height: .94; letter-spacing: -.025em; }
.huge { font-family: var(--display); font-weight: 500; font-size: clamp(3.4rem, 9vw, 10rem); line-height: .88; letter-spacing: -.03em; }
.acc { color: var(--lavd); }
.dark .acc, .hero .acc, .tech .acc, .logics .acc, .spaces .acc, .circ-hero .acc, .close .acc, .fam-dark .acc { color: var(--lime); }
.fine { font-size: .84rem; line-height: 1.55; opacity: .7; max-width: 70ch; }
.btn { display: inline-flex; align-items: center; gap: .5rem; height: 50px; padding: 0 1.4rem; border-radius: 999px; font-weight: 600; font-size: .98rem; transition: background .3s, color .3s, border-color .3s, transform .3s var(--ease); }
.btn.solid { background: var(--lime); color: var(--ink); }
.btn.solid:hover { background: #fff; }
.btn.ghost { border: 1.5px solid rgba(246,245,232,.6); color: var(--cream); backdrop-filter: blur(8px); background: rgba(12,13,10,.2); }
.btn.ghost:hover { background: var(--cream); color: var(--ink); }

/* titulares */
.sec-head { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.2rem 5vw; align-items: end; margin-bottom: clamp(3rem, 5vw, 4.6rem); }
.sec-head > .lab { grid-column: 1 / -1; opacity: .75; }
.sec-head > p:last-child { max-width: 48ch; font-size: 1.12rem; line-height: 1.6; opacity: .88; }

/* aparición */
[data-r] { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
[data-r].in { opacity: 1; transform: none; }

/* =====================================================================
   Cabecera, carril, índice
   ===================================================================== */
.top { position: fixed; z-index: 60; inset: 0 0 auto 0; display: flex; align-items: center; gap: 1.2rem; padding: 14px var(--gut) 12px calc(var(--rail) + var(--gut)); color: var(--cream); transition: color .4s, transform .5s var(--ease), background .4s; pointer-events: none; }
.top > * { pointer-events: auto; }
.top.hide { transform: translateY(-110%); }
.brand img { width: 104px; height: auto; transition: filter .4s; }
.top-sheet { display: flex; gap: .7rem; align-items: baseline; opacity: .9; }
.top-sheet .ts-n { color: var(--lime); transition: color .4s; }
.top-actions { margin-left: auto; display: flex; gap: .5rem; align-items: center; }
.top-actions > * { height: 38px; padding: 0 1rem; border: 1.5px solid currentColor; border-radius: 999px; display: inline-flex; align-items: center; gap: .55rem; backdrop-filter: blur(10px); background: rgba(12,13,10,.18); transition: background .3s, color .3s; }
.btn-tel { border-color: transparent !important; background: transparent !important; }
.btn-3d { background: var(--lime) !important; color: var(--ink); border-color: var(--lime) !important; }
.btn-3d i { width: 7px; height: 7px; border-radius: 50%; background: var(--ink); animation: pulse 2.2s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(12,13,10,.5); } 70% { box-shadow: 0 0 0 7px rgba(12,13,10,0); } 100% { box-shadow: 0 0 0 0 rgba(12,13,10,0); } }
.btn-menu:hover { background: var(--cream); color: var(--ink); }
.top.on-light { color: var(--ink); }
.top.on-light .brand img { filter: invert(1); }
.top.on-light .ts-n { color: var(--lavd); }
.top.on-light .btn-menu { background: rgba(246,245,232,.6); }
.top.on-light .btn-menu:hover { background: var(--ink); color: var(--cream); }

.rail { position: fixed; z-index: 55; left: 0; top: 0; bottom: 0; width: var(--rail); display: none; align-items: center; color: var(--cream); border-right: 1px solid var(--ld); transition: color .4s, border-color .4s; }
@media (min-width: 1100px) { .rail { display: flex; } }
.rail ol { width: 100%; display: grid; gap: 2px; }
.rail a { position: relative; display: flex; align-items: center; height: 36px; padding-left: 22px; font-weight: 600; font-size: .78rem; letter-spacing: .06em; opacity: .4; transition: opacity .3s; }
.rail a b { font-weight: 600; }
.rail a span { position: absolute; left: calc(100% + 10px); white-space: nowrap; padding: .35rem .6rem; background: var(--ink); color: var(--cream); border-radius: 6px; opacity: 0; transform: translateX(-6px); transition: .25s var(--ease); pointer-events: none; }
.rail a::before { content: ""; position: absolute; left: 0; top: 50%; width: 12px; height: 1.5px; background: currentColor; transform-origin: left; transform: scaleX(.5); transition: transform .4s var(--ease), background .3s; }
.rail a:hover, .rail a.on { opacity: 1; }
.rail a:hover span { opacity: 1; transform: none; }
.rail a.on::before { transform: scaleX(1.3); background: var(--lime); height: 3px; }
.rail.on-light { color: var(--ink); border-color: var(--ll); }
.rail.on-light a.on::before { background: var(--lav); }

.index { position: fixed; z-index: 58; inset: 0; display: grid; grid-template-columns: 1.4fr 1fr; gap: 4vw; align-items: end; padding: 110px var(--gut) 6vh calc(var(--rail) + var(--gut)); color: var(--cream); background: var(--ocean); clip-path: inset(0 0 100% 0); transition: clip-path .7s var(--ease2); }
.index.open { clip-path: inset(0); }
.index[hidden] { display: grid; visibility: hidden; }
.index.open[hidden] { visibility: visible; }
.index nav { display: grid; }
.index nav a { display: flex; align-items: baseline; gap: 1.2rem; font-family: var(--display); font-size: clamp(2rem, 5vw, 4.6rem); line-height: 1.04; letter-spacing: -.02em; padding: .1em 0; border-bottom: 1px solid rgba(246,245,232,.2); transition: color .25s, padding .35s var(--ease); }
.index nav a b { font: 600 .85rem var(--body); color: var(--lime); min-width: 2.4rem; }
.index nav a:hover { color: var(--lime); padding-left: .4em; }
.index-side { display: grid; gap: .8rem; align-content: end; }
.index-side .lab { opacity: .7; margin-top: 1rem; }
.index-fam { display: flex; flex-wrap: wrap; gap: .4rem; }
.index-fam a { padding: .45rem .9rem; border: 1.5px solid rgba(246,245,232,.4); border-radius: 999px; font-weight: 600; }
.index-fam a:hover { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.index-mail { font-family: var(--display); font-size: clamp(1.3rem, 2vw, 1.8rem); }
.index-mail:hover { color: var(--lime); }

/* =====================================================================
   01 · portada: fotos con luz y cursor de medida
   ===================================================================== */
.hero { position: relative; height: 100svh; min-height: 640px; overflow: hidden; background: #1b1c18; cursor: crosshair; }
.hero-slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1.6s ease, transform 8s linear; }
.hero-slides img.on { opacity: 1; transform: scale(1); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,7,.62) 0%, rgba(8,9,7,.22) 45%, rgba(8,9,7,0) 70%), linear-gradient(0deg, rgba(8,9,7,.55), rgba(8,9,7,0) 38%), linear-gradient(180deg, rgba(8,9,7,.4), rgba(8,9,7,0) 18%); pointer-events: none; }
.hero-grid { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .5s;
  background-image: linear-gradient(rgba(246,245,232,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(246,245,232,.35) 1px, transparent 1px); background-size: var(--cs, 48px) var(--cs, 48px);
  -webkit-mask-image: radial-gradient(circle 190px at var(--mx, 50%) var(--my, 50%), #000 0%, transparent 100%); mask-image: radial-gradient(circle 190px at var(--mx, 50%) var(--my, 50%), #000 0%, transparent 100%); }
.hero-cross { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .5s; }
.hero.aim .hero-grid, .hero.aim .hero-cross { opacity: 1; }
.hx, .hy { position: absolute; background: rgba(223,243,122,.65); }
.hx { left: 0; right: 0; height: 1px; top: var(--cy, 50%); }
.hy { top: 0; bottom: 0; width: 1px; left: var(--cx, 50%); }
.hr { position: absolute; left: var(--cx, 50%); top: var(--cy, 50%); transform: translate(14px, 14px); display: grid; gap: 1px; padding: .45rem .6rem; background: var(--lime); color: var(--ink); border-radius: 4px; font-size: .74rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hr::before { content: ""; position: absolute; left: -18px; top: -18px; width: var(--cs, 48px); height: var(--cs, 48px); border: 1.5px solid var(--lime); transform: translate(calc(var(--ox, 0px) * -1), calc(var(--oy, 0px) * -1)); display: none; }
.hr-m { font-weight: 500; opacity: .75; }
/* =====================================================================
   02 · cómo funciona
   ===================================================================== */
.system { padding: clamp(6.5rem, 11vw, 9.5rem) var(--side) clamp(5rem, 8vw, 7rem) var(--padx); color: var(--ink); background: var(--cinn); }
.scrolly { position: relative; height: calc(var(--n) * 75vh + 100vh); }
.scrolly-stage { position: sticky; top: 0; height: 100vh; display: grid; align-items: center; overflow: hidden; }
.sys-scrolly .scrolly-stage { grid-template-columns: 1.15fr 1fr; gap: clamp(2rem, 5vw, 5rem); }
.sys-canvas { position: relative; height: min(76vh, 700px); background: var(--cream); border-radius: 6px; box-shadow: inset 0 0 0 1px var(--ll); overflow: hidden; }
.sys-cv { width: 100%; height: 100%; }
.sys-cap { position: absolute; left: 16px; bottom: 14px; padding: .4rem .65rem; background: var(--ink); color: var(--cream); border-radius: 4px; }
.st-n { font-family: var(--display); font-weight: 500; font-size: clamp(5rem, 9vw, 9rem); line-height: .8; letter-spacing: -.05em; color: var(--lav); font-variant-numeric: tabular-nums; }
.st-list { display: grid; }
.st-list > li { grid-area: 1 / 1; display: grid; gap: 1rem; align-content: start; opacity: 0; transform: translateY(-10px); transition: opacity .25s ease, transform .3s ease; pointer-events: none; }
.st-list > li.on { opacity: 1; transform: none; pointer-events: auto; transition: opacity .6s var(--ease) .22s, transform .8s var(--ease) .22s; }
.st-list .lab { color: var(--lavd); }
.st-list h3 { font-family: var(--display); font-weight: 500; font-size: clamp(2.2rem, 3.6vw, 3.9rem); line-height: .98; letter-spacing: -.025em; }
.st-list p { font-size: clamp(1.08rem, 1.3vw, 1.28rem); line-height: 1.6; max-width: 40ch; }
.sys-text { display: grid; gap: 1.4rem; align-content: center; max-width: 36rem; }
.dots { display: flex; gap: .4rem; margin-top: 1.8rem; }
.dots button { width: 44px; height: 34px; border: 1.5px solid currentColor; border-radius: 999px; font-weight: 700; font-size: .85rem; opacity: .45; transition: background .3s, color .3s, opacity .3s, border-color .3s; }
.dots button.on { background: var(--lav); color: #fff; border-color: var(--lav); opacity: 1; }
.sys-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(3rem, 6vw, 5rem); border-top: 2px solid var(--ink); }
.sys-facts article { padding: 1.6rem 1.6rem 0 0; display: grid; gap: .4rem; align-content: start; }
.sys-facts article + article { padding-left: 1.6rem; border-left: 1px solid var(--ll2); }
.sys-facts strong { font-family: var(--display); font-weight: 500; font-size: clamp(3rem, 5vw, 5.2rem); line-height: .9; letter-spacing: -.03em; color: var(--lavd); }
.sys-facts h4 { font-family: var(--display); font-weight: 500; font-size: 1.5rem; }
.sys-facts p { font-size: 1rem; opacity: .8; }

/* =====================================================================
   03 · modelos
   ===================================================================== */
.collection { background: var(--cinn); }
.col-head { padding: clamp(6rem, 10vw, 9rem) var(--side) 2.8rem var(--padx); display: grid; grid-template-columns: 1.15fr 1fr; gap: 1rem 5vw; align-items: end; color: var(--ink); }
.col-head .lab { grid-column: 1 / -1; opacity: .75; }
.col-head > p:last-child { max-width: 48ch; font-size: 1.1rem; }
.fam-strip { display: flex; height: clamp(320px, 50vh, 500px); gap: 3px; padding: 0 var(--side) clamp(4rem, 7vw, 6rem) var(--padx); }
.fs { position: relative; flex: 1; min-width: 0; overflow: hidden; color: var(--cream); background: var(--ink); border-radius: 4px; transition: flex 1s var(--ease); }
.fs img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease), filter .8s; filter: saturate(.9) brightness(.85); }
.fs::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(8,9,7,.75)); }
.fs:hover, .fs:focus-visible { flex: 2.3; }
.fs:hover img, .fs:focus-visible img { transform: scale(1.03); filter: none; }
.fs > * { position: absolute; z-index: 1; left: 16px; }
.fs > .lab { top: 16px; opacity: .8; }
.fs b { bottom: 4.2rem; font-family: var(--display); font-weight: 500; font-size: clamp(1.8rem, 3vw, 3.2rem); line-height: .9; white-space: nowrap; }
.fs em { bottom: 2.4rem; font-style: normal; font-size: 1rem; white-space: nowrap; opacity: 0; transform: translateY(8px); transition: .6s var(--ease) .1s; }
.fs small { bottom: 1rem; font-weight: 700; color: var(--lime); font-size: .95rem; }
.fs:hover em, .fs:focus-visible em { opacity: 1; transform: none; }

.fam { padding: clamp(4rem, 7vw, 6rem) var(--side) clamp(4rem, 7vw, 6rem) var(--padx); color: var(--ink); background: var(--cream); }
.fam-dark { color: var(--cream); background: var(--ink2); }
.sheet { display: grid; grid-template-columns: minmax(290px, .42fr) 1fr; gap: clamp(2rem, 4vw, 4.5rem); padding: clamp(1.2rem, 2.4vw, 2.4rem); border: 1px solid var(--ll2); border-bottom: 0; border-radius: 6px 6px 0 0; }
.fam-dark .sheet { border-color: var(--ld2); }
.sheet-side { position: sticky; top: 76px; align-self: start; display: grid; gap: 1.1rem; }
.sheet-side > .lab { opacity: .6; }
.sheet-side h3 { font-family: var(--display); font-weight: 500; font-size: clamp(3.6rem, 6.4vw, 7rem); line-height: .82; letter-spacing: -.045em; margin-left: -.04em; }
.tagline { font-family: var(--display); font-size: 1.5rem; line-height: 1.1; color: var(--acc); }
.fam:not(.fam-dark) .tagline { color: var(--lavd); }
.price { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .1rem 1rem; padding: 1rem 1.1rem; border-radius: 6px; background: var(--lime); color: var(--ink); }
.price .lab { font-size: .66rem; opacity: .75; }
.price strong { grid-column: 1; font-family: var(--display); font-weight: 500; font-size: 2.4rem; line-height: 1; letter-spacing: -.02em; }
.price em { grid-column: 2; grid-row: 1 / span 3; font-style: normal; font-family: var(--display); font-size: 1.35rem; padding: .7rem .9rem; border-radius: 999px; background: var(--ink); color: var(--lime); text-align: center; line-height: 1; }
.lede { font-size: 1.02rem; opacity: .88; }
.fam-spec div { display: grid; grid-template-columns: 7.4rem 1fr; gap: .8rem; padding: .6rem 0; border-top: 1px solid var(--ll2); font-size: .98rem; font-weight: 500; }
.fam-dark .fam-spec div { border-color: var(--ld2); }
.fam-spec dt { font-weight: 600; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; opacity: .6; padding-top: .2rem; }
.side-btns { display: flex; flex-wrap: wrap; gap: .4rem; }
.side-btns > * { padding: .7rem 1.05rem; border: 1.5px solid currentColor; border-radius: 999px; font-weight: 600; font-size: .9rem; white-space: nowrap; transition: background .25s, color .25s, border-color .25s; }
.side-btns > :first-child { background: var(--lav); border-color: var(--lav); color: #fff; }
.side-btns > :hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.fam-dark .side-btns > :hover { background: var(--cream); border-color: var(--cream); color: var(--ink); }

.sheet-main { display: grid; gap: clamp(1.4rem, 2.4vw, 2.2rem); align-content: start; min-width: 0; }
.fam-cover { position: relative; aspect-ratio: 16 / 10; max-height: 72vh; overflow: hidden; background: var(--ink); border-radius: 4px; }
.fam-cover img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.05); transition: transform 2.4s var(--ease); }
.fam-cover.in img { transform: none; }
.fam-cover figcaption { position: absolute; left: 12px; bottom: 12px; padding: .35rem .6rem; background: rgba(12,13,10,.75); color: var(--cream); border-radius: 4px; }
.tiles { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(16, 1fr); grid-template-rows: repeat(10, 1fr); pointer-events: none; }
.tiles i { background: var(--cream); transition: opacity .45s ease; transition-delay: calc(var(--k) * 1ms); }
.fam-dark .tiles i { background: var(--ink2); }
.fam-cover.in .tiles i { opacity: 0; }
.photos { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(8px, 1vw, 14px); }
.photos.n3 { grid-template-columns: 1.2fr 1fr 1fr; }
.photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; cursor: zoom-in; transition: filter .4s; }
.photos img:hover { filter: brightness(1.05); }
.photos figcaption { margin-top: .5rem; opacity: .7; font-size: .68rem; }

.plan-box { display: grid; gap: 1rem; padding: clamp(1rem, 2vw, 1.6rem); background: #0c0f12; color: var(--cream); border-radius: 6px; }
.plan-box header { display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; }
.plan-box header .lab { color: var(--lime); }
.plan-box h4 { font-family: var(--display); font-weight: 500; font-size: 1.7rem; margin-top: .3rem; }
.plan-tabs { display: flex; padding: 3px; border: 1px solid rgba(246,245,232,.3); border-radius: 999px; }
.plan-tabs button { padding: .45rem .9rem; border-radius: 999px; font-weight: 600; font-size: .85rem; }
.plan-tabs button[aria-selected=true] { background: var(--lime); color: var(--ink); }
.plan-img { position: relative; aspect-ratio: var(--ar); overflow: hidden; border-radius: 4px; }
.plan-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s; }
.plan-img img.on { opacity: 1; }
.plan-foot { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.2rem; align-items: start; }
.rooms { display: flex; flex-wrap: wrap; gap: .35rem; }
.rooms li { padding: .35rem .7rem; border: 1px solid rgba(246,245,232,.25); border-radius: 999px; font-size: .86rem; }
.plan-foot p { font-size: .92rem; opacity: .75; }

.compose { display: grid; gap: 1rem; }
.compose header .lab, .palette header .lab { opacity: .65; }
.compose h4 { font-family: var(--display); font-weight: 500; font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1; margin-top: .3rem; }
.axos { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(8px, 1vw, 14px); counter-reset: ax; }
.axos figure { position: relative; background: #efeee6; border-radius: 6px; overflow: hidden; }
.axos img { width: 100%; aspect-ratio: 1; object-fit: contain; transform: scale(1.08); }
.axos figcaption { position: absolute; left: 12px; bottom: 10px; display: flex; gap: .5rem; align-items: baseline; color: var(--ink); font-weight: 600; font-size: .9rem; }
.axos figcaption b { color: var(--lavd); }
.axos figure:not(:first-child)::before { content: "+"; position: absolute; left: -2px; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--lav); color: #fff; font-weight: 700; z-index: 1; }
.compose > p { font-size: .98rem; opacity: .82; max-width: 60ch; }
.palette { display: grid; gap: .9rem; }
.palette ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(8px, 1vw, 14px); }
.palette li { display: grid; gap: .3rem; }
.palette li span { display: block; aspect-ratio: 4 / 3; background: center / cover; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(12,13,10,.1); }
.palette strong { font-weight: 700; font-size: .95rem; margin-top: .3rem; }
.palette small { font-size: .85rem; opacity: .75; }

.live { display: grid; grid-template-columns: 1.2fr 1fr; align-items: stretch; text-align: left; border-radius: 6px; overflow: hidden; background: var(--ink); color: var(--cream); transition: transform .5s var(--ease), box-shadow .5s; }
.live:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -24px rgba(0,0,0,.6); }
.live-img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.live-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.live:hover .live-img img { transform: scale(1.04); }
.live-copy { display: grid; align-content: space-between; gap: .7rem; padding: clamp(1.1rem, 2vw, 1.7rem); }
.live-copy .lab { color: var(--lime); }
.live-copy strong { font-family: var(--display); font-weight: 500; font-size: clamp(1.6rem, 2.3vw, 2.3rem); line-height: 1; letter-spacing: -.02em; }
.live-p { font-size: .95rem; opacity: .8; }
.live-go { justify-self: start; padding: .6rem 1rem; border-radius: 999px; background: var(--lime); color: var(--ink); font-weight: 700; font-size: .9rem; }
.sheet-block { display: grid; grid-template-columns: 1fr 1fr 1fr auto; border: 1px solid var(--ll2); border-radius: 0 0 6px 6px; font-weight: 600; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.fam-dark .sheet-block { border-color: var(--ld2); }
.sheet-block > * { padding: .65rem .9rem; border-left: 1px solid var(--ll2); opacity: .7; }
.fam-dark .sheet-block > * { border-color: var(--ld2); }
.sheet-block > :first-child { border-left: 0; }
.sheet-block svg { width: 40px; height: 36px; padding: 7px 11px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.sheet-block svg path { fill: currentColor; }

/* =====================================================================
   04 · comparar
   ===================================================================== */
.logics { padding: clamp(6rem, 10vw, 9rem) var(--side) clamp(5rem, 8vw, 7rem) var(--padx); background: radial-gradient(120% 90% at 85% 0%, #4a53c9 0%, var(--ocean) 45%, var(--ocean2) 100%); color: var(--cream); }
.lg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 1.3vw, 18px); }
.lg { position: relative; display: grid; gap: .9rem; align-content: start; padding: 1.2rem 1.2rem 1.3rem; border-radius: 8px; background: rgba(246,245,232,.07); border: 1px solid rgba(246,245,232,.16); transition: background .4s, transform .5s var(--ease), border-color .4s; }
.lg:hover { background: rgba(246,245,232,.13); transform: translateY(-6px); border-color: var(--lime); }
.lg-cv { width: 100%; aspect-ratio: 1.15; }
.lg .lab { opacity: .7; }
.lg h3 { font-family: var(--display); font-weight: 500; font-size: clamp(2rem, 3vw, 3rem); line-height: .9; letter-spacing: -.03em; }
.lg-logic { font-weight: 600; font-size: 1.05rem; color: var(--lime); }
.lg-figs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(246,245,232,.16); border-radius: 6px; overflow: hidden; }
.lg-figs div { display: grid; padding: .7rem .6rem; background: var(--ocean2); }
.lg-figs strong { font-family: var(--display); font-weight: 500; font-size: 1.7rem; line-height: 1; }
.lg-figs span { font-size: .82rem; opacity: .75; }
.lg-price { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 0 .8rem; padding-top: .4rem; border-top: 1px solid rgba(246,245,232,.2); }
.lg-price .lab { grid-column: 1 / -1; opacity: .6; margin-top: .6rem; }
.lg-price strong { font-family: var(--display); font-weight: 500; font-size: 2rem; line-height: 1; }
.lg-price em { font-style: normal; font-weight: 700; font-size: .85rem; padding: .35rem .6rem; border-radius: 999px; background: var(--lime); color: var(--ink); }
.lg-btns { display: flex; gap: .4rem; }
.lg-btns > * { flex: 1; text-align: center; padding: .65rem .8rem; border-radius: 999px; font-weight: 600; font-size: .9rem; border: 1.5px solid rgba(246,245,232,.5); transition: background .25s, color .25s; }
.lg-btns > :hover { background: var(--cream); color: var(--ink); }
.lg-btns button { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.logics .fine { margin-top: 2rem; }

/* =====================================================================
   05 · interiores y materia
   ===================================================================== */
.spaces { padding: clamp(6rem, 10vw, 9rem) var(--side) clamp(5rem, 8vw, 7rem) var(--padx); background: var(--ink); }
.gal { display: grid; gap: clamp(10px, 1.2vw, 16px); }
.gal-row { display: flex; gap: clamp(10px, 1.2vw, 16px); height: clamp(220px, 27vw, 380px); }
.gal figure { flex: var(--a) 1 0; min-width: 0; display: grid; grid-template-rows: 1fr auto; gap: .5rem; }
.gal img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 4px; cursor: zoom-in; transition: filter .5s; }
.gal img:hover { filter: brightness(1.06); }
.gal figcaption { font-weight: 600; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }
.mats { margin-top: clamp(5rem, 9vw, 8rem); }
.mats header { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 5vw; align-items: end; margin-bottom: 2.4rem; }
.mats header .lab { grid-column: 1 / -1; color: var(--lime); }
.mats h3 { font-family: var(--display); font-weight: 500; font-size: clamp(2.2rem, 3.6vw, 3.8rem); line-height: .95; letter-spacing: -.02em; }
.mats header p { font-size: 1.05rem; opacity: .82; max-width: 44ch; }
.mat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 1.4vw, 18px); }
.mat-grid li { display: grid; gap: .45rem; align-content: start; padding: 0 0 1.2rem; border-radius: 8px; background: var(--ink2); overflow: hidden; }
.mat-grid li > :not(.struct) { margin: 0 1.1rem; }
.mat-grid b { color: var(--lime); margin-top: .9rem !important; }
.mat-grid strong { font-family: var(--display); font-weight: 500; font-size: 1.7rem; line-height: 1; }
.mat-grid small { font-weight: 600; font-size: .82rem; opacity: .7; }
.mat-grid p { font-size: .95rem; opacity: .8; }
.struct { position: relative; height: 260px; perspective: 900px; background: radial-gradient(80% 70% at 50% 60%, #2a2c33, #16171b 70%); cursor: grab; touch-action: pan-y; }
.struct:active { cursor: grabbing; }
.st3 { position: absolute; left: 50%; top: 56%; width: 0; height: 0; transform-style: preserve-3d; transform: rotateX(-24deg) rotateY(var(--ry, 35deg)); }
.cub { position: absolute; transform-style: preserve-3d; }
.cub > i { position: absolute; left: 0; top: 0; background: var(--tex) center / 180px 180px; backface-visibility: hidden; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.35); }
.struct-shadow { position: absolute; left: 50%; top: 74%; width: 190px; height: 50px; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(rgba(0,0,0,.6), transparent 70%); filter: blur(4px); }

/* =====================================================================
   06 · dibuja tu casa
   ===================================================================== */
.draw { padding: clamp(6rem, 10vw, 9rem) var(--side) clamp(5rem, 8vw, 7rem) var(--padx); color: var(--ink); background: var(--cinn); }
.draw-wrap { display: grid; grid-template-columns: 1fr minmax(18rem, 24rem); gap: clamp(12px, 2vw, 22px); align-items: stretch; }
.draw-board { background: var(--cream); border-radius: 8px; box-shadow: inset 0 0 0 1px var(--ll2); padding: 14px; display: grid; gap: 12px; align-content: start; }
.draw-tools { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.draw-tools button { padding: .5rem .85rem; border: 1.5px solid var(--ll2); border-radius: 999px; font-weight: 600; font-size: .86rem; transition: background .2s, color .2s, border-color .2s; }
.draw-tools button:hover { border-color: var(--ink); }
.draw-tools button[aria-pressed=true] { background: var(--lav); color: #fff; border-color: var(--lav); }
.draw-tools .lab { opacity: .6; margin: 0 .2rem 0 .3rem; }
.draw-tools .sep { width: 1px; height: 22px; background: var(--ll2); margin: 0 .3rem; }
.draw-cv { width: 100%; aspect-ratio: 24 / 14; touch-action: none; cursor: crosshair; border-radius: 4px; }
.draw-scale { display: flex; align-items: center; gap: .6rem; font-size: .85rem; opacity: .75; }
.draw-scale i { display: block; height: 8px; border: 1.5px solid var(--ink); border-top: 0; }
.draw-out { display: grid; align-content: start; gap: 1rem; padding: 1.2rem; background: var(--ink); color: var(--cream); border-radius: 8px; }
.iso-box { position: relative; aspect-ratio: 16 / 10; background: var(--ink3); border-radius: 6px; overflow: hidden; }
.iso-box canvas { width: 100%; height: 100%; }
.iso-box .lab { position: absolute; left: 10px; top: 10px; opacity: .7; }
.draw-out dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid var(--ld); }
.draw-out dt { font-weight: 600; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: .65; padding-top: .15rem; }
.draw-out dd { font-family: var(--display); font-size: 1.15rem; text-align: right; }
.o-fam .lab { opacity: .65; }
.o-fam strong { display: block; font-family: var(--display); font-weight: 500; font-size: clamp(2.4rem, 3.8vw, 3.6rem); line-height: .95; letter-spacing: -.03em; color: var(--lav2); margin: .2rem 0 .4rem; }
.o-fam p { font-size: .95rem; opacity: .85; }
.o-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.o-actions > * { padding: .65rem .95rem; border-radius: 999px; font-weight: 600; font-size: .86rem; border: 1.5px solid var(--cream); }
.o-mail { background: var(--lav); color: #fff; border-color: var(--lav) !important; }
.o-actions button:hover { background: var(--cream); color: var(--ink); }

/* =====================================================================
   07 · tecnología
   ===================================================================== */
.tech { padding: clamp(6rem, 10vw, 9rem) 0 clamp(4rem, 7vw, 6rem); background: var(--ink); }
.tech-head { padding: 0 var(--side) 0 var(--padx); }
.film { position: relative; aspect-ratio: 21 / 9; max-height: 64vh; overflow: hidden; background: #000; margin: 0 var(--side) 0 var(--padx); border-radius: 6px; }
.film video { width: 100%; height: 100%; object-fit: cover; }
.film-cap { position: absolute; left: 0; bottom: 0; right: 0; display: flex; align-items: end; gap: 1.2rem; padding: 1.6rem; background: linear-gradient(transparent, rgba(0,0,0,.7)); }
.film-cap img { width: 96px; filter: invert(1); }
.film-cap h3 { font-family: var(--display); font-weight: 500; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1; letter-spacing: -.02em; }
.tech .scrolly-stage { grid-template-columns: 1fr 1.05fr; gap: clamp(2rem, 5vw, 5rem); padding: 0 var(--side) 0 var(--padx); }
.tech-frame { position: relative; justify-self: stretch; height: min(76vh, 720px); overflow: hidden; background: var(--ink3); border-radius: 6px; }
.tech-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1s ease, transform 1.8s var(--ease); }
.tech-frame img.on { opacity: 1; transform: none; }
.tf-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.14); }
.tf-bar i { display: block; height: 100%; width: calc(var(--sp, .2) * 100%); background: var(--lime); transition: width .6s var(--ease); }
.tech-text { display: grid; gap: 1.4rem; align-content: center; color: var(--cream); }
.tech-text .st-n { color: var(--lime); }
.tech .st-list .lab { color: var(--lime); font-size: .85rem; }
.tech .st-list h3 { font-size: clamp(2.6rem, 4.4vw, 4.8rem); }
.tech .st-list p { font-size: clamp(1.12rem, 1.4vw, 1.35rem); opacity: .88; }
.gain { display: grid; gap: .3rem; padding: 1rem 1.2rem; border-radius: 6px; background: rgba(118,136,247,.16); border-left: 3px solid var(--lav); max-width: 40ch; }
.gain b { font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lav2); }
.tech .dots button.on { background: var(--lime); border-color: var(--lime); color: var(--ink); }

/* =====================================================================
   08 · sostenibilidad y ciclo de vida
   ===================================================================== */
.circ { background: var(--cinn); color: var(--ink); }
.circ-hero { position: relative; min-height: 80svh; display: grid; align-items: end; overflow: hidden; color: var(--cream); }
.circ-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.12 - var(--cp, 0) * .12)); }
.circ-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,6,.8), rgba(8,9,6,.1) 70%), linear-gradient(transparent 50%, rgba(8,9,6,.55)); }
.circ-hero > div { position: relative; z-index: 1; padding: 0 var(--side) clamp(4rem, 8vw, 6rem) var(--padx); max-width: calc(60rem + var(--padx)); }
.circ-hero .lab { color: var(--lime); }
.circ-hero .big { margin: 1rem 0 1.4rem; }
.circ-hero p:last-child { max-width: 50ch; font-size: 1.15rem; opacity: .92; }
.circ .scrolly-stage { grid-template-columns: minmax(0, 1fr) 1fr; gap: clamp(2rem, 5vw, 5rem); padding: 70px var(--side) 30px var(--padx); }
.ring-wrap { position: relative; justify-self: center; width: min(44vw, 74vh, 600px); aspect-ratio: 1; }
.ring { width: 100%; height: 100%; overflow: visible; }
.ring-base { fill: none; stroke: var(--ll2); stroke-width: 1.2; }
.ring-tick { fill: none; stroke: var(--ink); stroke-width: 6; stroke-dasharray: .6 4.4; opacity: .18; }
.ring-prog { fill: none; stroke: var(--lav); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--rp, 0) * 100); transform: rotate(-90deg); transform-origin: 200px 200px; transition: stroke-dashoffset .7s var(--ease); }
.ring-nodes g { cursor: pointer; }
.ring-nodes circle { fill: var(--cream); stroke: var(--ink); stroke-width: 1.5; transition: fill .4s, r .4s; }
.ring-nodes g.on circle { fill: var(--lav); stroke: var(--lav); }
.ring-nodes g.on text.n { fill: #fff; }
.ring-nodes g.cur circle { fill: var(--lime); stroke: var(--ink); stroke-width: 2.5; }
.ring-nodes g.cur text.n { fill: var(--ink); }
.ring-nodes text { font: 700 11px var(--body); fill: var(--ink); text-anchor: middle; dominant-baseline: middle; pointer-events: none; }
.ring-nodes .lbl { font: 700 12px var(--body); letter-spacing: .08em; text-transform: uppercase; }
.ring-center { position: absolute; inset: 24%; display: grid; place-items: center; align-content: center; gap: .6rem; text-align: center; pointer-events: none; }
.ring-ico { width: 44%; height: auto; fill: none; stroke: var(--lavd); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ring-ico * { transition: opacity .4s; }
.ring-center .lab { opacity: .6; }
.cyc-text { display: grid; gap: 1.2rem; align-content: center; max-width: 34rem; }
.circ .st-list h3 { font-size: clamp(3rem, 5.4vw, 5.8rem); line-height: .9; }
.circ .gain { background: rgba(118,136,247,.14); }
.circ .gain b { color: var(--lavd); }
.tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.tags li { padding: .4rem .75rem; border-radius: 999px; font-weight: 600; font-size: .82rem; }
.tags .field { border: 1.5px solid var(--ink); }
.tags .ods, .ods-band li { color: #fff; }
.o09 { background: #fd6925; } .o11 { background: #fd9d24; } .o12 { background: #bf8b2e; } .o13 { background: #3f7e44; }
.ods-band { padding: clamp(4rem, 7vw, 6rem) var(--side) clamp(5rem, 8vw, 6.5rem) var(--padx); }
.ods-band header { display: grid; gap: .6rem; margin-bottom: 2rem; }
.ods-band header .lab { opacity: .7; }
.ods-band h3 { font-family: var(--display); font-weight: 500; font-size: clamp(2.2rem, 3.8vw, 3.8rem); line-height: .95; letter-spacing: -.02em; }
.ods-band ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 1.2vw, 16px); }
.ods-band li { display: grid; gap: .5rem; align-content: start; padding: 1.2rem; border-radius: 8px; min-height: 14rem; transition: transform .5s var(--ease); }
.ods-band li:hover { transform: translateY(-5px) rotate(-.4deg); }
.ods-band li b { font-family: var(--display); font-weight: 500; font-size: 3.6rem; line-height: .9; }
.ods-band li strong { font-weight: 700; font-size: 1.02rem; line-height: 1.25; }
.ods-band li p { font-size: .95rem; opacity: .92; }
.ods-band .fine { margin-top: 2rem; }

/* =====================================================================
   09 · contacto y formulario
   ===================================================================== */
.close { position: relative; overflow: hidden; padding: clamp(6rem, 10vw, 9rem) var(--side) 0 var(--padx); }
.close-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.close::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,11,9,.55), rgba(10,11,9,.92) 55%); }
.close > * { position: relative; }
.close-grid { display: grid; grid-template-columns: 1fr minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.close-copy { display: grid; gap: 1.6rem; }
.close-copy > .lab { color: var(--lime); }
.close-lede { font-size: 1.15rem; max-width: 46ch; }
.close-lede b { color: var(--lime); font-weight: 600; }
.steps3 { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ld2); }
.steps3 li { display: grid; gap: .2rem; padding: 1rem .8rem 0 0; font-family: var(--display); font-size: 1.4rem; }
.steps3 b { font: 700 .8rem var(--body); color: var(--lime); }
.steps3 small { font: 400 .88rem var(--body); opacity: .7; }
.close-card { display: grid; gap: .6rem; padding: 1.4rem; border-radius: 8px; background: var(--lime); color: var(--ink); max-width: 26rem; }
.close-card .tel { display: flex; align-items: baseline; gap: .8rem; font-family: var(--display); font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1; letter-spacing: -.02em; }
.close-card .tel small { font: 700 .75rem var(--body); }
.close-card .mail { font-weight: 700; margin-top: .3rem; }
.close-card .visit { display: grid; margin-top: .4rem; padding-top: .8rem; border-top: 1px solid rgba(12,13,10,.25); }
.close-card .visit strong { font-family: var(--display); font-size: 1.5rem; }
.lead { display: grid; gap: 1rem; padding: clamp(1.3rem, 2.4vw, 2.2rem); border-radius: 10px; background: var(--cream); color: var(--ink); box-shadow: 0 30px 80px -40px rgba(0,0,0,.8); }
.lead header .lab { color: var(--lavd); }
.lead h3 { font-family: var(--display); font-weight: 500; font-size: clamp(2rem, 3vw, 2.8rem); line-height: 1; letter-spacing: -.02em; margin-top: .3rem; }
.f-row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.lead label > span, .lead legend { display: block; font-weight: 600; font-size: .82rem; letter-spacing: .04em; margin-bottom: .35rem; }
.lead label i { font-style: normal; opacity: .55; font-weight: 500; }
.lead input:not([type=radio]):not([type=checkbox]), .lead select, .lead textarea { width: 100%; padding: .8rem .9rem; border: 1.5px solid var(--ll2); border-radius: 6px; background: #fff; font-size: 1rem; transition: border-color .25s, box-shadow .25s; }
.lead input:focus, .lead select:focus, .lead textarea:focus { outline: none; border-color: var(--lav); box-shadow: 0 0 0 4px rgba(118,136,247,.2); }
.lead .bad { border-color: #d6453d !important; }
.f-models { border: 0; padding: 0; margin: 0; }
.f-models { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
.f-models legend { grid-column: 1 / -1; }
.f-models label { position: relative; cursor: pointer; }
.f-models input { position: absolute; opacity: 0; }
.f-models label > span { display: grid; gap: .1rem; height: 100%; padding: 0 0 .6rem; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ll2); transition: box-shadow .25s, transform .3s var(--ease); }
.f-models img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: .4rem; }
.f-models b, .f-models small { padding: 0 .6rem; }
.f-models b { font-family: var(--display); font-weight: 500; font-size: 1.15rem; }
.f-models small { font-size: .74rem; opacity: .7; }
.f-models .none { align-content: center; padding: .6rem 0; background: var(--cinn); }
.f-models input:checked + span { box-shadow: inset 0 0 0 3px var(--lav); transform: translateY(-3px); }
.f-models input:focus-visible + span { outline: 2px solid var(--lav); outline-offset: 2px; }
.f-check { display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; font-size: .86rem; line-height: 1.45; }
.f-check input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--lav); }
.f-check > span { font-weight: 400 !important; letter-spacing: 0 !important; margin: 0 !important; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.f-send { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.05rem 1.3rem; border-radius: 999px; background: var(--ink); color: var(--cream); font-weight: 700; font-size: 1.05rem; transition: background .3s, color .3s; }
.f-send i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--lime); color: var(--ink); font-style: normal; transition: transform .4s var(--ease); }
.f-send:hover { background: var(--lav); }
.f-send:hover i { transform: translateX(4px); }
.f-send[disabled] { opacity: .6; pointer-events: none; }
.f-status { font-size: .9rem; min-height: 1.2em; }
.f-status.err { color: #c0392b; }
.legal { margin-top: clamp(3rem, 5vw, 4rem); font-size: .78rem; line-height: 1.55; opacity: .6; max-width: 110ch; }
.close-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding: 1.4rem 0 1.6rem; border-top: 1px solid var(--ld2); font-weight: 600; font-size: .86rem; }
.close-foot a:hover { color: var(--lime); }

/* =====================================================================
   Tarjeta de bienvenida
   ===================================================================== */
dialog { padding: 0; border: 0; }
.welcome { width: min(760px, 94vw); max-height: 94svh; border-radius: 14px; background: radial-gradient(120% 90% at 20% 0%, #2a2f7a, #111230 60%); color: var(--cream); overflow: auto; }
.welcome::backdrop { background: rgba(8,9,20,.75); backdrop-filter: blur(6px); }
.welcome[open] { animation: wcIn .7s var(--ease); }
@keyframes wcIn { from { opacity: 0; transform: translateY(30px) scale(.97); } }
.wc-in { display: grid; justify-items: center; gap: 1rem; padding: clamp(1.6rem, 4vw, 2.8rem); text-align: center; }
.wc-kicker { color: var(--lime); }
.wc-title { font-family: var(--display); font-weight: 500; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1; letter-spacing: -.02em; }
.wc-sub { opacity: .85; max-width: 40ch; }
.wcard-3d { --rx: 0deg; --ry: 0deg; --gx: 50%; --gy: 50%; width: min(460px, 86vw); aspect-ratio: 1.586; perspective: 1200px; margin: .8rem 0 .2rem; cursor: pointer; outline: none; }
.wc-card { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(var(--rx)) rotateY(calc(var(--ry) + var(--flip, 0deg))); transition: transform .9s var(--ease); }
.wcard-3d.move .wc-card { transition: transform .12s linear; }
.wcard-3d.flipped { --flip: 180deg; }
.wc-face { position: absolute; inset: 0; border-radius: 18px; overflow: hidden; backface-visibility: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.18); text-align: left; }
.wc-front { background: linear-gradient(135deg, #7688f7 0%, #5a67e0 38%, #3b43b0 100%); }
.wc-back { transform: rotateY(180deg); background: linear-gradient(135deg, #1b1e52, #3b43b0); display: grid; align-content: space-between; padding: 7% 7%; }
.wc-foil { position: absolute; inset: -40%; background: conic-gradient(from 0deg at var(--gx) var(--gy), rgba(223,243,122,.0), rgba(223,243,122,.55), rgba(255,255,255,.35), rgba(169,180,251,.5), rgba(223,243,122,.0) 60%); mix-blend-mode: overlay; opacity: .75; filter: blur(8px); transition: opacity .4s; }
.wc-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 6.25% 9.9%; -webkit-mask-image: linear-gradient(120deg, transparent 20%, #000 60%); mask-image: linear-gradient(120deg, transparent 20%, #000 60%); }
.wc-front::after { content: ""; position: absolute; right: -8%; top: -18%; width: 62%; aspect-ratio: 1; border-radius: 50%; border: 18px solid rgba(223,243,122,.9); clip-path: inset(0 0 45% 0); }
.wc-front > * { position: absolute; z-index: 1; }
.wc-logo { left: 7%; top: 9%; width: 30%; }
.wc-back .wc-logo { position: static; width: 34%; }
.wc-tag { left: 7%; top: 25%; font-weight: 700; font-size: clamp(.6rem, 1.6vw, .78rem); letter-spacing: .14em; text-transform: uppercase; color: var(--lime); }
.wc-pct { left: 6%; top: 30%; font-family: var(--display); font-weight: 500; font-size: clamp(4.4rem, 15vw, 7.4rem); line-height: .9; letter-spacing: -.04em; color: var(--lime); text-shadow: 0 2px 0 rgba(0,0,0,.12); }
.wc-pct small { font-size: .5em; margin-left: .05em; }
.wc-for { left: 7%; top: 62%; font-weight: 600; font-size: clamp(.8rem, 2vw, 1rem); color: #fff; }
.wc-holder, .wc-code, .wc-model { bottom: 8%; display: grid; color: #fff; }
.wc-holder { left: 7%; max-width: 38%; }
.wc-code { left: 47%; }
.wc-model { right: 7%; text-align: right; }
.wc-front small { font-size: clamp(.5rem, 1.3vw, .62rem); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.wc-front b { font-weight: 700; font-size: clamp(.78rem, 2vw, 1rem); letter-spacing: .06em; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-back p { font-size: clamp(.7rem, 1.8vw, .86rem); line-height: 1.45; color: rgba(255,255,255,.88); }
.wc-back p b { display: block; color: var(--lime); font-size: 1.05em; margin-bottom: .3rem; }
.wc-code-b { font-weight: 700; letter-spacing: .12em; color: var(--lime); }
.wc-hint { opacity: .55; }
.wc-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: .4rem; }
.wc-actions > * { padding: .75rem 1.1rem; border-radius: 999px; font-weight: 700; font-size: .92rem; border: 1.5px solid rgba(246,245,232,.5); transition: background .25s, color .25s; }
.wc-actions > :first-child { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.wc-actions > :hover { background: var(--cream); color: var(--ink); }
.wc-mail { font-size: .92rem; opacity: .8; max-width: 52ch; }

/* =====================================================================
   Visor del dosier
   ===================================================================== */
.dv { width: 100vw; height: 100svh; max-width: none; max-height: none; margin: 0; background: #1a1b20; color: var(--cream); }
.dv::backdrop { background: rgba(0,0,0,.7); }
.dv[open] { display: grid; grid-template-rows: auto 1fr auto; animation: wvIn .6s var(--ease2); }
.dv-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; padding: .8rem 1.1rem; border-bottom: 1px solid var(--ld); }
.dv-bar > p { display: grid; margin-right: auto; }
.dv-bar > p .lab { opacity: .6; font-size: .66rem; }
.dv-bar strong { font-family: var(--display); font-weight: 500; font-size: 1.6rem; }
.dv-tabs { display: flex; padding: 3px; border: 1px solid var(--ld2); border-radius: 999px; }
.dv-tabs button { padding: .45rem .9rem; border-radius: 999px; font-weight: 600; font-size: .86rem; }
.dv-tabs button[aria-selected=true] { background: var(--lime); color: var(--ink); }
.dv-dl, .dv-send, .dv-close { padding: .55rem 1rem; border: 1.5px solid var(--ld2); border-radius: 999px; font-weight: 600; font-size: .88rem; }
.dv-send { background: var(--lav); border-color: var(--lav); color: #fff; }
.dv-dl:hover, .dv-close:hover { background: var(--cream); color: var(--ink); }
.dv-stage { position: relative; min-height: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.2rem; perspective: 2000px; }
.dv-pages { position: relative; height: 100%; display: grid; place-items: center; }
.dv-pages img { grid-area: 1 / 1; max-height: 100%; max-width: 100%; object-fit: contain; box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); border-radius: 3px; opacity: 0; transform: rotateY(-25deg) translateX(8%); transform-origin: left center; transition: opacity .6s, transform .8s var(--ease); pointer-events: none; }
.dv-pages img.on { opacity: 1; transform: none; pointer-events: auto; }
.dv-pages img.past { transform: rotateY(25deg) translateX(-8%); transform-origin: right center; }
.dv-prev, .dv-next { width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--ld2); font-size: 1.2rem; }
.dv-prev:hover, .dv-next:hover { background: var(--lime); color: var(--ink); }
.dv-count { text-align: center; padding: 0 0 1rem; font-weight: 600; opacity: .7; }

/* visor 3D y visor de imágenes */
.wv { width: 100vw; height: 100svh; max-width: none; max-height: none; margin: 0; background: var(--ink); color: var(--cream); }
.wv::backdrop { background: rgba(0,0,0,.7); }
.wv[open] { display: grid; grid-template-rows: auto 1fr; animation: wvIn .6s var(--ease2); }
@keyframes wvIn { from { clip-path: inset(50% 0 50% 0); } to { clip-path: inset(0); } }
.wv-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; padding: .7rem 1rem; border-bottom: 1px solid var(--ld); }
.wv-id { display: grid; line-height: 1.1; margin-right: auto; }
.wv-id .lab { opacity: .6; font-size: .64rem; }
.wv-id strong { font-family: var(--display); font-weight: 500; font-size: 1.5rem; }
.wv-models, .wv-mode { display: flex; padding: 3px; border: 1px solid var(--ld2); border-radius: 999px; }
.wv-models button, .wv-mode button { padding: .45rem .85rem; border-radius: 999px; font-weight: 600; font-size: .86rem; transition: background .25s, color .25s; }
.wv-models button[aria-pressed=true], .wv-mode button[aria-pressed=true] { background: var(--lime); color: var(--ink); }
.wv-open { opacity: .7; } .wv-open:hover { opacity: 1; color: var(--lime); }
.wv-close { padding: .5rem .9rem; border: 1.5px solid var(--ld2); border-radius: 999px; font-weight: 600; }
.wv-close:hover { background: var(--cream); color: var(--ink); }
.wv-stage { position: relative; min-height: 0; }
.wv iframe { width: 100%; height: 100%; border: 0; display: block; background: #000; }
.wv-load { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: .8rem; text-align: center; background: var(--ink); transition: opacity .6s, visibility .6s; }
.wv-load canvas { width: 180px; height: 120px; }
.wv-load p { font-family: var(--display); font-size: 1.7rem; }
.wv-load small { opacity: .6; }
.wv-load.done { opacity: 0; visibility: hidden; }
.lb { width: 100vw; height: 100svh; max-width: none; max-height: none; margin: 0; background: rgba(8,9,7,.96); color: var(--cream); }
.lb[open] { display: grid; place-items: center; }
.lb figure { display: grid; gap: .8rem; max-width: 92vw; }
.lb img { max-width: 92vw; max-height: 82svh; object-fit: contain; animation: lbIn .5s var(--ease); }
@keyframes lbIn { from { opacity: 0; transform: scale(.98); } }
.lb figcaption { display: flex; justify-content: space-between; gap: 1rem; font-weight: 600; }
.lb-prev, .lb-next, .lb-close { position: fixed; display: grid; place-items: center; width: 50px; height: 50px; border: 1.5px solid var(--ld2); border-radius: 50%; font-size: 1.1rem; transition: background .25s, color .25s; }
.lb-prev { left: 16px; top: 50%; } .lb-next { right: 16px; top: 50%; } .lb-close { right: 16px; top: 16px; }
.lb-prev:hover, .lb-next:hover, .lb-close:hover { background: var(--lime); color: var(--ink); }

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width: 1100px) {
  .lg-grid { grid-template-columns: 1fr 1fr; }
  .mat-grid { grid-template-columns: 1fr 1fr; }
  .ods-band ul { grid-template-columns: 1fr 1fr; }
  .sheet { grid-template-columns: 1fr; }
  .sheet-side { position: relative; top: 0; }
  .close-grid { grid-template-columns: 1fr; }
  .f-models { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  body { font-size: 16px; }
  .top-sheet, .btn-tel { display: none; }
  .hero-foot { flex-direction: column; align-items: stretch; }
  .hero-fams { overflow-x: auto; }
  .hero-fams a { min-width: 8rem; }
  .hero-card strong { font-size: 1.8rem; }
  .sec-head, .col-head, .mats header { grid-template-columns: 1fr; }
  .sys-scrolly .scrolly-stage, .tech .scrolly-stage, .circ .scrolly-stage { grid-template-columns: 1fr; grid-template-rows: auto auto; align-content: center; gap: 1.2rem; padding-top: 70px; }
  .sys-canvas { height: 38vh; }
  .tech-frame { height: 36vh; }
  .ring-wrap { width: min(70vw, 36vh); }
  .st-n { font-size: 3rem; }
  .st-list h3, .tech .st-list h3, .circ .st-list h3 { font-size: 2rem; }
  .st-list p, .tech .st-list p { font-size: 1rem; }
  .gain { padding: .7rem .9rem; }
  .dots { margin-top: .4rem; }
  .sys-facts { grid-template-columns: 1fr; }
  .sys-facts article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--ll2); }
  .fam-strip { flex-direction: column; height: auto; }
  .fs { flex: none; height: 24vh; } .fs:hover { flex: none; }
  .fs em { opacity: 1; transform: none; }
  .photos, .photos.n3 { grid-template-columns: 1fr 1fr; }
  .plan-foot { grid-template-columns: 1fr; }
  .axos { grid-template-columns: 1fr 1fr 1fr; }
  .palette ul { grid-template-columns: 1fr 1fr; }
  .live { grid-template-columns: 1fr; }
  .sheet-block { grid-template-columns: 1fr 1fr; } .sheet-block > :nth-child(n+3) { display: none; }
  .gal-row { flex-wrap: wrap; height: auto; }
  .gal figure { flex: 1 1 100%; } .gal img { aspect-ratio: 4 / 3; height: auto; }
  .draw-wrap { grid-template-columns: 1fr; }
  .lg-grid, .mat-grid, .ods-band ul { grid-template-columns: 1fr; }
  .f-row { grid-template-columns: 1fr; }
  .f-models { grid-template-columns: 1fr 1fr; }
  .steps3 { grid-template-columns: 1fr; }
  .index { grid-template-columns: 1fr; align-content: end; }
  .wv-bar, .dv-bar { gap: .5rem; } .wv-open { display: none; }
  .dv-stage { grid-template-columns: 1fr; } .dv-prev, .dv-next { position: absolute; bottom: 1rem; z-index: 2; } .dv-prev { left: 1rem; } .dv-next { right: 1rem; }
}
/* ajustes v20 */
.hc { position: absolute; left: 0; top: 0; width: var(--cs, 48px); height: var(--cs, 48px); border: 1.5px solid var(--lime); background: rgba(223,243,122,.14); transition: transform .12s ease-out; }
.ring-ico.draw { animation: icoIn .8s var(--ease); }
@keyframes icoIn { from { opacity: 0; transform: scale(.7) rotate(-20deg); } }
[hidden] { display: none !important; }
.wc-front .wc-pct small { font-size: .46em; letter-spacing: 0; opacity: 1; text-transform: none; font-weight: 500; }
.wc-front .wc-code { left: 42%; }
.wc-front .wc-code b { font-size: clamp(.6rem, 1.6vw, .8rem); letter-spacing: .04em; }
.wc-front .wc-holder { max-width: 33%; }
.dv-stage { overflow: hidden; }
.dv-pages { min-height: 0; overflow: hidden; }
.dv-pages img { max-height: calc(100svh - 170px); }
.close > img.close-bg { position: absolute; inset: 0 0 auto 0; height: 88vh; -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); }
.close::before { background: linear-gradient(180deg, rgba(10,11,9,.35), rgba(10,11,9,.75) 40%, var(--ink) 85%); }
.close { background: var(--ink); }
.price strong { font-size: clamp(1.7rem, 2.3vw, 2.2rem); white-space: nowrap; }
.ring-wrap { margin: 0 clamp(90px, 9vw, 140px); width: min(32vw, 62vh, 480px); }
.ring-ico { width: 44%; height: 44%; }
@media (max-width: 860px) { .axos figcaption { font-size: .72rem; left: 8px; bottom: 6px; } .axos figure:not(:first-child)::before { width: 20px; height: 20px; font-size: .8rem; } .ring-wrap { margin: 0 auto; width: min(58vw, 34vh); } .ring-nodes .lbl { display: none; } }
.wc-burst { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 5; }
.wc-mail a { color: var(--lime); font-weight: 700; }
.hero-copy { position: absolute; z-index: 2; left: var(--padx); right: var(--side); top: clamp(120px, 22vh, 230px); }
.hero-copy .lab { opacity: .9; margin-bottom: 1.4rem; }
.hero h1 { font-family: var(--display); font-weight: 500; font-size: clamp(3.2rem, 8.4vw, 9.6rem); line-height: .9; letter-spacing: -.035em; text-shadow: 0 2px 30px rgba(0,0,0,.25); }
.hero h1 span { display: block; }
.h1b { color: var(--lime); }
.h1a, .h1b { clip-path: inset(0 0 100% 0); transform: translateY(.25em); animation: rise 1.2s var(--ease) forwards; }
.h1b { animation-delay: .18s; }
@keyframes rise { to { clip-path: inset(0 0 -12% 0); transform: none; } }
.hero-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2.2rem; }
.hero-foot { position: absolute; z-index: 2; left: var(--padx); right: var(--side); bottom: 24px; display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.hero-fams { display: flex; gap: 2px; }
.hero-fams a { display: grid; gap: .1rem; min-width: 9.5rem; padding: .8rem 1rem; background: rgba(12,13,10,.42); backdrop-filter: blur(12px); border-top: 3px solid transparent; transition: background .3s, border-color .3s; }
.hero-fams a b { font-family: var(--display); font-weight: 500; font-size: 1.5rem; line-height: 1; }
.hero-fams a small { font-size: .82rem; opacity: .8; }
.hero-fams a .lab { opacity: .6; font-size: .66rem; }
.hero-fams a.on, .hero-fams a:hover { border-color: var(--lime); background: rgba(12,13,10,.62); }
.hero-card { display: grid; gap: .6rem; padding: 1.2rem 1.4rem; background: var(--lime); color: var(--ink); min-width: 18rem; border-radius: 4px; transition: transform .4s var(--ease); }
.hero-card:hover { transform: translateY(-4px); }
.hero-card strong { font-family: var(--display); font-weight: 500; font-size: 2.3rem; line-height: .92; letter-spacing: -.02em; text-transform: uppercase; }
.hc-tel { font-family: var(--display); font-size: 1.15rem; }


/* sección 2: el ejemplo pegado al título; entradillas en letra de marca */
.sec-head > p:last-child, .col-head > p:last-child { font-family: var(--display); font-weight: 500; font-size: clamp(1.25rem, 1.7vw, 1.6rem); line-height: 1.22; letter-spacing: -.01em; opacity: 1; max-width: 30ch; }
.system .sec-head { margin-bottom: 1.5rem; }
.sys-scrolly { margin-top: calc((100vh - min(76vh, 700px)) / -2 + 24px); }
@media (max-width: 860px) { .sys-scrolly { margin-top: 0; } }
/* ---------- ajustes v20.2 ---------- */
/* portada: una sola foto fija, con luz */
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% 50%; filter: brightness(1.2) contrast(1.04) saturate(1.06); }
.hero-shade { background: linear-gradient(90deg, rgba(8,9,7,.5) 0%, rgba(8,9,7,.12) 45%, rgba(8,9,7,0) 70%), linear-gradient(0deg, rgba(8,9,7,.45), rgba(8,9,7,0) 32%); }
.hc-tel { font-family: var(--body); font-weight: 700; font-size: .95rem; }

/* tarjeta de acceso al modelo 3D: maqueta que se convierte en paisaje */
.live { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.live-img { min-width: 0; aspect-ratio: auto; height: 100%; min-height: clamp(240px, 22vw, 340px); background: #e8e8e5; }
.live-img img { transition: opacity .8s ease, transform 1.2s var(--ease); }
.live-img .land { opacity: 0; }
.live:hover .live-img .land, .live:focus-visible .live-img .land { opacity: 1; }
.live-tag { position: absolute; left: 12px; bottom: 12px; display: flex; padding: 3px; border-radius: 999px; background: rgba(12,13,10,.78); color: var(--cream); font-size: .66rem; }
.live-tag b, .live-tag i { font-style: normal; font-weight: 700; padding: .3rem .6rem; border-radius: 999px; transition: background .4s, color .4s; }
.live-tag b { background: var(--lime); color: var(--ink); }
.live:hover .live-tag b { background: none; color: var(--cream); }
.live:hover .live-tag i { background: var(--lime); color: var(--ink); }
.live-copy { min-width: 0; }
@media (max-width: 860px) { .live { grid-template-columns: 1fr; } .live-img { min-height: 0; aspect-ratio: 16 / 10; height: auto; } }

/* axonometrías sin círculos recortados */
.axos figure:not(:first-child)::before { display: none; }

/* escenas con scroll: sin hueco vacío al terminar */
.scrolly { margin-bottom: -22vh; }
.scrolly + * { position: relative; z-index: 1; }
.circ .ods-band { background: var(--cinn); padding-top: 3rem; }
.sys-facts { background: var(--cinn); }
@media (max-width: 860px) { .scrolly { margin-bottom: -8vh; } }

/* 04 · lógicas */
.lg { padding: .7rem .7rem 1.2rem; gap: .8rem; background: linear-gradient(170deg, rgba(246,245,232,.1), rgba(246,245,232,.03)); }
.lg > :not(.lg-stage) { margin: 0 .5rem; }
.lg-stage { position: relative; border-radius: 6px; overflow: hidden; background: radial-gradient(90% 80% at 50% 60%, rgba(118,136,247,.28), rgba(20,24,90,.55)); }
.lg-stage::before { content: ""; position: absolute; inset: 0; background: var(--img) center / cover; opacity: 0; filter: grayscale(.3); transition: opacity .8s ease, transform 1.4s var(--ease); transform: scale(1.08); }
.lg-stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47,54,148,.25), rgba(47,54,148,.85)); opacity: 0; transition: opacity .8s; }
.lg:hover .lg-stage::before { opacity: 1; transform: none; }
.lg:hover .lg-stage::after { opacity: 1; }
.lg-cv { position: relative; z-index: 1; aspect-ratio: 1; }
.lg-n { position: absolute; z-index: 2; left: 12px; top: 8px; font-family: var(--display); font-size: 2.6rem; line-height: 1; color: rgba(246,245,232,.22); }
.lg-how { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 10px; font-weight: 600; font-size: .9rem; color: var(--cream); display: flex; gap: .5rem; align-items: center; }
.lg-how::before { content: ""; flex: none; width: 18px; height: 10px; border: 1.5px dashed var(--lime); border-radius: 2px; }
.lg h3 { font-size: clamp(2.2rem, 3.2vw, 3.2rem); }

/* 05 · materia */
.struct { height: 300px; background: radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); overflow: hidden; }
.struct::before { content: ""; position: absolute; inset: 0; background: var(--tex) center / 220px auto; opacity: .07; filter: grayscale(1); }
.cub > i { background: linear-gradient(rgba(10,10,14,var(--sh,.2)), rgba(10,10,14,var(--sh,.2))), var(--tex); background-size: auto, 180px auto; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.4); }
.struct-hint { position: absolute; right: 10px; top: 10px; padding: .3rem .6rem; border-radius: 999px; background: rgba(246,245,232,.1); color: rgba(246,245,232,.7); font-weight: 600; font-size: .7rem; letter-spacing: .06em; opacity: 0; transition: opacity .4s; }
.mat-grid li:hover .struct-hint { opacity: 1; }
.mat-grid li { transition: transform .5s var(--ease), box-shadow .5s; }
.mat-grid li:hover { transform: translateY(-4px); box-shadow: 0 0 0 1.5px var(--lime); }
.mat-grid li.exploded .struct-hint::after { content: " · despiece"; }
.mat-chip { display: inline-block; width: 22px; height: 22px; border-radius: 50%; margin-right: .5rem; vertical-align: -3px; background: center / cover; box-shadow: 0 0 0 2px rgba(246,245,232,.2); }
.meters { display: grid; gap: .45rem; margin-top: .5rem !important; padding-top: .8rem; border-top: 1px solid var(--ld); }
.meters li { display: flex; justify-content: space-between; align-items: center; gap: .8rem; font-size: .82rem; font-weight: 600; opacity: .9; }
.meters i { position: relative; flex: none; width: 108px; height: 7px; background: repeating-linear-gradient(90deg, rgba(246,245,232,.14) 0 19px, transparent 19px 22px); }
.meters i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--v) * 22px - 3px); background: repeating-linear-gradient(90deg, var(--lav2) 0 19px, transparent 19px 22px); transition: width .8s var(--ease); }
.mat-grid li:hover .meters i::after { background: repeating-linear-gradient(90deg, var(--lime) 0 19px, transparent 19px 22px); }
.meters b { display: none; }
.mats .fine { margin-top: 1.2rem; }

/* ---------- versión final ---------- */
.meters li { display: grid; grid-template-columns: minmax(0, 1fr) 108px; }
.meters li span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* portada: el titular ocupa la zona oscura de la izquierda y deja ver la casa */
.hero-copy { top: 50%; transform: translateY(-58%); right: auto; max-width: min(48vw, 760px); }
.hero h1 { font-size: clamp(3.2rem, 7vw, 8.4rem); line-height: .88; }
.hero h1 span + span { margin-top: .12em; }
.hero-fams li { display: grid; gap: .1rem; min-width: 9.5rem; padding: .8rem 1rem; background: rgba(12,13,10,.42); backdrop-filter: blur(12px); border-top: 3px solid var(--lime); }
.hero-fams li b { font-family: var(--display); font-weight: 500; font-size: 1.5rem; line-height: 1; }
.hero-fams li small { font-size: .82rem; opacity: .85; }
.hero-fams li .lab { opacity: .6; font-size: .66rem; }
@media (max-width: 860px) { .hero-fams { display: grid; grid-template-columns: 1fr 1fr; overflow: visible; } .hero-fams li { min-width: 0; } .hero-copy { top: 110px; transform: none; max-width: none; right: var(--side); } .hero h1 { font-size: clamp(2.8rem, 12vw, 4rem); } }

/* precios: la misma pastilla «5 meses*» en fichas y comparativa */
.price { grid-template-columns: minmax(0, 1fr) auto; }
.price strong, .lg-price strong { white-space: nowrap; font-size: clamp(1.6rem, 2.1vw, 2.1rem); }
.price em, .lg-price em { white-space: nowrap; font-style: normal; font-family: var(--body); font-weight: 700; font-size: .85rem; line-height: 1; padding: .55rem .8rem; border-radius: 999px; background: var(--ink); color: var(--lime); align-self: center; }
.lg-price { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.lg-price em { background: var(--lime); color: var(--ink); }

/* materia: lienzo 3D */
.struct { height: 320px; }
.struct canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.struct.gl::before { display: none; }
.struct.dragging { cursor: grabbing; }

/* tecnología: marco horizontal para que la casa se vea entera */
.tech-frame { height: auto; aspect-ratio: 4 / 3; align-self: center; }
.tech-frame img:nth-child(1) { object-position: 50% 60%; }
.tech-frame img:nth-child(3) { object-position: 50% 40%; }

/* sostenibilidad: menos cielo */
.circ-hero { min-height: 68svh; }
.circ-hero > img { object-position: 50% 88%; }

/* 08 · casa conectada */
.home { padding: clamp(6rem, 10vw, 9rem) var(--side) clamp(5rem, 8vw, 7rem) var(--padx); background: var(--cream); color: var(--ink); }
.home-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.home-fig { position: relative; padding: clamp(1rem, 2vw, 2rem); border-radius: 10px; background: radial-gradient(90% 80% at 50% 45%, #2a3190, var(--ocean2) 70%); }
.home-fig figcaption { position: absolute; left: 16px; top: 14px; color: var(--lime); }
.home-svg { width: 100%; height: auto; overflow: visible; }
.home-svg * { vector-effect: non-scaling-stroke; }
.h-house path { fill: none; stroke: rgba(246,245,232,.75); stroke-width: 1.6; stroke-linejoin: round; }
.h-house .h-grid { stroke: rgba(169,180,251,.22); stroke-width: 1; }
.h-house path:first-child { fill: rgba(246,245,232,.04); }
.h-links path { fill: none; stroke: rgba(169,180,251,.35); stroke-width: 2; stroke-dasharray: 6 7; animation: hFlow 1.6s linear infinite; transition: stroke .4s, stroke-width .4s; }
.h-links path.on { stroke: var(--lime); stroke-width: 3; }
@keyframes hFlow { to { stroke-dashoffset: -26; } }
.h-glow { transform-origin: 320px 275px; animation: hPulse 2.4s ease-in-out infinite; }
@keyframes hPulse { 50% { transform: scale(1.25); opacity: .55; } }
.h-chip rect { fill: #7688f7; stroke: #c9d0fd; stroke-width: 1.5; }
.h-chip .h-core { fill: var(--lime); stroke: none; }
.h-chip path { stroke: #c9d0fd; stroke-width: 2; stroke-linecap: round; }
.h-node circle { fill: var(--ocean2); stroke: rgba(169,180,251,.6); stroke-width: 1.6; transition: fill .4s, stroke .4s, transform .5s var(--ease); transform-box: fill-box; transform-origin: center; }
.h-node path { fill: none; stroke: var(--cream); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.h-node.on circle { fill: var(--lime); stroke: var(--lime); transform: scale(1.12); }
.h-node.on path { stroke: var(--ink); }
.h-screens rect, .h-screens path { fill: none; stroke: rgba(246,245,232,.6); stroke-width: 1.6; transition: stroke .4s; }
.h-screens .h-bus { stroke-dasharray: 5 6; animation: hFlow 1.6s linear infinite; }
.h-screens.on rect, .h-screens.on path { stroke: var(--lime); }
.home-list { display: grid; gap: .6rem; counter-reset: none; }
.home-list li { display: grid; grid-template-columns: auto 1fr; gap: .2rem 1.1rem; padding: 1.1rem 1.2rem; border-radius: 8px; border: 1px solid var(--ll2); background: rgba(255,255,255,.35); cursor: default; transition: background .4s, border-color .4s, transform .5s var(--ease); }
.home-list li b { grid-row: span 2; font-family: var(--display); font-weight: 500; font-size: 2.2rem; line-height: 1; color: var(--lav); }
.home-list h3 { font-family: var(--display); font-weight: 500; font-size: clamp(1.4rem, 1.9vw, 1.8rem); line-height: 1.05; }
.home-list p { font-size: 1rem; opacity: .8; }
.home-list li.on { background: var(--ink); border-color: var(--ink); color: var(--cream); transform: translateX(6px); }
.home-list li.on b { color: var(--lime); }
@media (max-width: 860px) { .home-grid { grid-template-columns: 1fr; } }

/* 08 · casa conectada (versión con escena) */
.home { background: radial-gradient(90% 70% at 30% 35%, #323aa6 0%, #20256e 45%, #0e1030 100%); color: var(--cream); overflow: hidden; }
.home .sec-head .acc { color: var(--lime); }
.home .fine { margin-top: 1.6rem; opacity: .55; }
.hxw { position: relative; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, .8fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: center; }
.hx-scene { position: relative; aspect-ratio: 1.45; min-height: 340px; }
.hx-cv { position: absolute; inset: 0; width: 100%; height: 100%; }
.hx-tag { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .8rem; border-radius: 999px; background: rgba(12,13,10,.45); border: 1px solid rgba(223,243,122,.35); color: var(--lime); backdrop-filter: blur(6px); }
.hx-tag i { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 rgba(223,243,122,.7); animation: hxPing 1.8s infinite; }
@keyframes hxPing { 70% { box-shadow: 0 0 0 9px rgba(223,243,122,0); } 100% { box-shadow: 0 0 0 0 rgba(223,243,122,0); } }

/* tableta */
.hx-device { perspective: 1400px; }
.hx-bezel { padding: 12px; border-radius: 28px; background: linear-gradient(150deg, #2a2d36, #0b0c10); box-shadow: 0 40px 80px -30px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 1px rgba(0,0,0,.6); transform: rotateY(-9deg) rotateX(4deg); transition: transform .8s var(--ease); }
.hx-device:hover .hx-bezel { transform: rotateY(-3deg) rotateX(1deg); }
.hx-screen { position: relative; aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, #f6f5e8, #eeeccd); color: var(--ink); }
.hx-bar { display: flex; align-items: center; justify-content: space-between; padding: .7rem 1rem .4rem; font-weight: 700; font-size: .72rem; }
.hx-bar span { font-family: var(--display); font-size: 1rem; }
.hx-sig { display: flex; align-items: end; gap: 2px; height: 10px; }
.hx-sig b { width: 3px; background: var(--ink); border-radius: 1px; }
.hx-sig b:nth-child(1) { height: 30%; } .hx-sig b:nth-child(2) { height: 55%; } .hx-sig b:nth-child(3) { height: 80%; } .hx-sig b:nth-child(4) { height: 100%; }
.hx-s { position: absolute; inset: 2.4rem .9rem .9rem; display: grid; align-content: start; gap: .8rem; opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .6s var(--ease); pointer-events: none; }
.hx-s.on { opacity: 1; transform: none; transition-delay: .15s; }
.hx-s header { display: grid; gap: .1rem; padding-bottom: .6rem; border-bottom: 1px solid var(--ll2); }
.hx-s header small { font-weight: 700; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--lavd); }
.hx-s header strong { font-family: var(--display); font-weight: 500; font-size: 1.35rem; line-height: 1.05; }
.hx-plan { position: relative; border-radius: 10px; overflow: hidden; background: #0c0f12; aspect-ratio: 2.4; }
.hx-plan img { width: 100%; height: 100%; object-fit: cover; }
.hx-plan span { position: absolute; left: 8px; top: 6px; font-size: .62rem; font-weight: 700; color: var(--lime); letter-spacing: .08em; text-transform: uppercase; }
.hx-rows { display: grid; gap: .35rem; }
.hx-rows li { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: center; padding: .5rem .65rem; border-radius: 8px; background: #fff; font-weight: 700; font-size: .8rem; }
.hx-rows i { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lav); color: #fff; font-style: normal; font-size: .7rem; }
.hx-rows em { font-style: normal; font-weight: 500; font-size: .72rem; opacity: .65; }
.hx-rows .warn i { background: var(--lime); color: var(--ink); }
.hx-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
.hx-tiles .t { position: relative; display: grid; gap: .1rem; min-height: 78px; padding: .6rem .7rem; border-radius: 12px; background: #fff; }
.hx-tiles .t small { font-weight: 700; font-size: .66rem; opacity: .6; }
.hx-tiles .t strong { font-family: var(--display); font-weight: 500; font-size: 1.1rem; }
.hx-tiles .t.on { background: var(--ink); color: var(--cream); }
.hx-tiles .t.on small { opacity: .7; }
.hx-tiles .wide { grid-column: 1 / -1; min-height: 0; }
.hx-tiles .sw { position: absolute; right: .6rem; top: .6rem; width: 30px; height: 17px; border-radius: 999px; background: var(--lime); }
.hx-tiles .sw::after { content: ""; position: absolute; right: 2px; top: 2px; width: 13px; height: 13px; border-radius: 50%; background: var(--ink); }
.hx-tiles .dial { position: absolute; right: .6rem; top: .55rem; width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--lav); border-right-color: rgba(12,13,10,.1); }
.hx-tiles .blind { position: absolute; right: .6rem; top: .6rem; display: grid; gap: 2px; width: 22px; }
.hx-tiles .blind b { height: 3px; border-radius: 2px; background: var(--lav); }
.hx-tiles .blind b:nth-child(n+3) { opacity: .25; }
.hx-tiles .lock { position: absolute; right: .7rem; top: .7rem; width: 14px; height: 11px; border-radius: 2px; background: var(--lav); }
.hx-tiles .lock::before { content: ""; position: absolute; left: 2px; top: -7px; width: 6px; height: 7px; border: 2px solid var(--lav); border-bottom: 0; border-radius: 5px 5px 0 0; }
.hx-tiles .bars { display: flex; align-items: end; gap: 4px; height: 44px; margin-top: .3rem; }
.hx-tiles .bars b { flex: 1; height: calc(var(--h) * 100%); border-radius: 3px 3px 0 0; background: var(--lav2); }
.hx-tiles .bars b:nth-child(4) { background: var(--lav); }
.hx-core { display: grid; justify-items: center; gap: .6rem; padding: 1rem 0 .4rem; }
.hx-core .chip { position: relative; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 16px; background: var(--ink); box-shadow: 0 0 0 6px rgba(118,136,247,.18), 0 0 40px rgba(223,243,122,.5); }
.hx-core .chip b { width: 38px; height: 38px; border-radius: 6px; background: var(--lime); animation: hxCore 2.4s ease-in-out infinite; }
@keyframes hxCore { 50% { box-shadow: 0 0 22px rgba(223,243,122,.9); } }
.hx-core p { font-weight: 700; font-size: .8rem; padding: .35rem .7rem; border-radius: 999px; background: var(--lime); }
.hx-meters { display: grid; gap: .55rem; }
.hx-meters li { display: grid; gap: .3rem; padding: .55rem .7rem; border-radius: 10px; background: #fff; }
.hx-meters small { font-weight: 700; font-size: .7rem; opacity: .65; }
.hx-meters .m { height: 8px; border-radius: 999px; background: rgba(12,13,10,.08); overflow: hidden; }
.hx-meters .m b { display: block; height: 100%; width: calc(var(--v) * 100%); background: linear-gradient(90deg, var(--lav), var(--lavd)); border-radius: 999px; }
.hx-meters .sig { display: flex; align-items: end; gap: 3px; height: 18px; }
.hx-meters .sig b { width: 6px; border-radius: 2px; background: var(--lav); }
.hx-meters .sig b:nth-child(1) { height: 25%; } .hx-meters .sig b:nth-child(2) { height: 45%; } .hx-meters .sig b:nth-child(3) { height: 65%; } .hx-meters .sig b:nth-child(4) { height: 85%; } .hx-meters .sig b:nth-child(5) { height: 100%; }
.hx-meters .spark { width: 100%; height: 28px; fill: none; stroke: var(--lavd); stroke-width: 2; stroke-linejoin: round; }
.hx-devs { display: grid; grid-template-columns: .5fr .9fr 1.4fr 1.1fr; gap: .5rem; align-items: end; padding: 1rem .2rem .6rem; }
.hx-devs .d { position: relative; display: block; border: 2.5px solid var(--ink); border-radius: 6px; background: linear-gradient(160deg, var(--lav2), var(--lav)); }
.hx-devs .d::after { content: "✓"; position: absolute; right: -8px; top: -8px; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: .62rem; font-weight: 800; }
.hx-devs .phone { aspect-ratio: .5; border-radius: 8px; }
.hx-devs .tab { aspect-ratio: .78; border-radius: 8px; }
.hx-devs .tv { aspect-ratio: 1.7; border-radius: 3px; margin-bottom: 10px; }
.hx-devs .tv::before { content: ""; position: absolute; left: 50%; bottom: -12px; width: 40%; height: 8px; transform: translateX(-50%); border-top: 2.5px solid var(--ink); }
.hx-devs .pc { aspect-ratio: 1.5; border-bottom-width: 7px; border-radius: 5px 5px 2px 2px; }
.hx-roles { display: grid; gap: .45rem; }
.hx-roles div { display: grid; padding: .7rem .8rem; border-radius: 10px; background: var(--ink); color: var(--cream); }
.hx-roles div + div { background: #fff; color: var(--ink); }
.hx-roles small { font-weight: 700; font-size: .68rem; opacity: .7; }
.hx-roles strong { font-family: var(--display); font-weight: 500; font-size: 1.15rem; }

/* pestañas */
.hx-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(8px, 1vw, 14px); margin-top: clamp(1.6rem, 3vw, 2.6rem); }
.hx-tabs button { position: relative; display: grid; gap: .35rem; align-content: start; padding: 1.1rem 1.1rem 1.4rem; text-align: left; border-radius: 10px; border: 1px solid rgba(246,245,232,.16); background: rgba(246,245,232,.05); color: var(--cream); overflow: hidden; transition: background .4s, border-color .4s, transform .5s var(--ease); }
.hx-tabs button:hover { border-color: rgba(223,243,122,.5); }
.hx-tabs b { font-family: var(--display); font-weight: 500; font-size: 1.9rem; line-height: 1; color: var(--lav2); }
.hx-tabs strong { font-family: var(--display); font-weight: 500; font-size: clamp(1.2rem, 1.5vw, 1.45rem); line-height: 1.05; }
.hx-tabs span { font-size: .92rem; line-height: 1.45; opacity: .75; }
.hx-tabs i { position: absolute; left: 0; bottom: 0; height: 3px; width: calc(var(--p, 0) * 100%); background: var(--lime); }
.hx-tabs [aria-selected=true] { background: rgba(246,245,232,.12); border-color: var(--lime); transform: translateY(-4px); }
.hx-tabs [aria-selected=true] b { color: var(--lime); }
.hx-tabs [aria-selected=true] span { opacity: 1; }
@media (max-width: 1100px) { .hxw { grid-template-columns: 1fr; } .hx-device { width: min(340px, 86vw); justify-self: center; } .hx-tabs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .hx-scene { min-height: 0; aspect-ratio: 1.15; } .hx-tabs { grid-template-columns: 1fr; } .hx-tabs span { display: none; } .hx-tabs [aria-selected=true] span { display: block; } .hx-bezel { transform: none; } }
.tech-frame img:nth-child(2) { object-position: 50% 55%; }

/* precio + plazo: la pastilla baja de línea si no cabe (nunca se monta) */
.lg-price { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; }
.lg-price .lab { flex-basis: 100%; margin-top: .6rem; }
.lg-price strong { font-size: clamp(1.5rem, 1.9vw, 2rem); }
.price { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; }
.price .lab { flex-basis: 100%; }
.price .lab + strong + .lab { order: 3; }
.price em { order: 2; }
/* materia: imagen fija mientras el 3D arranca o si el navegador no puede mostrarlo */
.mat-grid li[data-mat=hormigon] .struct { background: url(assets/v20/struct-hormigon.webp) center / cover no-repeat, radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); }
.mat-grid li[data-mat=acero] .struct { background: url(assets/v20/struct-acero.webp) center / cover no-repeat, radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); }
.mat-grid li[data-mat=madera] .struct { background: url(assets/v20/struct-madera.webp) center / cover no-repeat, radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); }
.mat-grid li[data-mat=reciclado] .struct { background: url(assets/v20/struct-reciclado.webp) center / cover no-repeat, radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); }
.mat-grid li .struct.live { background: radial-gradient(70% 60% at 50% 62%, #2e3038, #141519 75%); }
.struct::before { display: none; }
/* navegación: aparecer en la sección con un fundido breve */
html { scroll-behavior: auto; }
main { transition: opacity .2s ease; }
body.jumping main { opacity: 0; }

/* tecnología: foto vertical completa sobre su propio fondo desenfocado */
.tf-bg { position: absolute; inset: -30px; background: center / cover no-repeat; filter: blur(22px) brightness(.55) saturate(1.1); }
.tech-frame img[data-fit=contain] { object-fit: contain; transform: none; }

/* cierre: texto legible sobre la casa blanca */
.close::before { background: linear-gradient(90deg, rgba(8,9,7,.82) 0%, rgba(8,9,7,.55) 55%, rgba(8,9,7,.35) 100%), linear-gradient(180deg, rgba(8,9,7,.35), rgba(8,9,7,.7) 45%, var(--ink) 85%); }
.close-copy h2, .close-copy .close-lede, .close-copy .steps3 { text-shadow: 0 2px 24px rgba(0,0,0,.45); }

/* protección de datos en el formulario */
.f-check a { color: var(--lavd); text-decoration: underline; }
.f-check i { font-style: normal; opacity: .55; }
.f-rgpd { border-top: 1px solid var(--ll2); padding-top: .7rem; font-size: .8rem; }
.f-rgpd summary { cursor: pointer; font-weight: 700; color: var(--lavd); list-style: none; }
.f-rgpd summary::-webkit-details-marker { display: none; }
.f-rgpd summary::before { content: "+ "; }
.f-rgpd[open] summary::before { content: "− "; }
.f-rgpd dl { display: grid; gap: .35rem; margin-top: .6rem; }
.f-rgpd dl div { display: grid; grid-template-columns: 7.5rem 1fr; gap: .6rem; }
.f-rgpd dt { font-weight: 700; }
.f-rgpd dd { opacity: .8; line-height: 1.45; }
.f-rgpd a { color: var(--lavd); text-decoration: underline; }

/* pie: nota legal única y enlaces */
.legal { opacity: .75; }
.legal b { font-weight: 700; color: var(--lime); }
.foot-legal { display: flex; gap: 1rem; }
.foot-legal a { opacity: .75; }
@media (max-width: 860px) { .f-rgpd dl div { grid-template-columns: 1fr; gap: .1rem; } }

.close { isolation: isolate; }
.close > img.close-bg { z-index: -2; }
.close::before { z-index: -1; }
/* fluidez: un solo lienzo 3D para las cuatro materias */
.mat-grid { position: relative; }
.mats-gl { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.struct-hint { z-index: 2; }
.mat-grid li:hover { transform: none; }
.struct canvas:not(.mats-gl) { display: none; }
/* el fondo animado de la escena de la casa no necesita repintarse con el scroll */
.hx-scene, .sys-canvas, .lg-stage { contain: paint; }
/* ritmo: aparición más amplia y pausada */
[data-r] { transform: translateY(36px); transition: opacity 1.2s var(--ease), transform 1.5s var(--ease); transition-delay: var(--d, 0s); }
[data-r].in { transform: none; }
main { transition: opacity .45s var(--ease); }
body.jumping main { opacity: 0; transition-duration: .25s; }
/* tarjetas: movimientos suaves */
.fs { transition: flex 1.1s cubic-bezier(.22,.8,.25,1); contain: layout paint; }
.fs img { transition: transform 1.6s var(--ease), filter 1s ease; }
.lg { transition: background .6s ease, transform .8s var(--ease), border-color .6s ease, box-shadow .6s ease; }
.lg:hover { box-shadow: 0 24px 50px -30px rgba(0,0,0,.6); }
.mat-grid li { transition: background .6s ease, box-shadow .6s ease; }
.mat-grid li:hover { background: #1b1c22; }
/* salto entre secciones: velo ligero en lugar de fundir toda la página */
main, body.jumping main { opacity: 1; transition: none; }
.veil { position: fixed; inset: 0; z-index: 57; background: var(--ink); opacity: 0; pointer-events: none; transition: opacity .5s var(--ease); }
body.jumping .veil { opacity: .92; transition-duration: .24s; }
/* la foto de sostenibilidad hace zoom con el scroll: capa propia para no repintar */
/* fluidez: mosaico más ligero y aparición algo más ágil */
.tiles { grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(5, 1fr); }
.tiles i { transition: opacity .6s ease calc(var(--k) * 1ms); }
[data-r] { transition: opacity 1s var(--ease), transform 1.2s var(--ease); transition-delay: var(--d, 0s); }
/* scroll nativo con pasos en la sección 2 */
.scrolly { position: relative; }
/* progreso continuo (sin saltos) */
.ring-prog { transition: none; }
.tf-bar i { transition: none; }
/* relevo cruzado: el texto saliente y el entrante se funden a la vez (sin hueco vacío) */
.st-list > li { transition: opacity .45s ease, transform .6s var(--ease); }
.st-list > li.on { transition: opacity .7s ease .08s, transform .9s var(--ease) .08s; }
.tech-frame img { transition: opacity 1.1s ease, transform 2s var(--ease); }
/* tira de modelos: el ancho no se anima (eso obliga a recalcular el diseño en cada fotograma); solo foto y texto */
/* tarjetas de modelos: la que está bajo el ratón se agranda (cada tarjeta aislada para que el cambio de ancho sea barato) */
.fam-strip .fs { flex: 1 1 0; min-width: 0; contain: strict; transition: flex-grow .9s cubic-bezier(.22,.8,.25,1); }
.fam-strip .fs:hover, .fam-strip .fs:focus-visible { flex-grow: 2.3; }
.fs img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease), filter .8s ease; }
.fs:hover img, .fs:focus-visible img { transform: scale(1.03); filter: none; }
.fs em { white-space: nowrap; }
@media (max-width: 860px) { .fam-strip .fs, .fam-strip .fs:hover { flex: none; } }
.circ-hero > img { transform: scale(1.12); }
/* sección 2: cada paso ocupa más recorrido, para que su animación se vea completa con un scroll normal */
.scrolly { height: calc(var(--n) * var(--step, 75vh) + 100vh); }
.sys-scrolly { --step: 125vh; }
.fs::after { background: linear-gradient(transparent 30%, rgba(8,9,7,.55) 60%, rgba(8,9,7,.9)); }
/* visor 3D en móvil: una sola fila, sin ocupar la pantalla */
@media (max-width: 860px) {
  .wv-bar { flex-wrap: nowrap; gap: .4rem; padding: .5rem .6rem; overflow-x: auto; scrollbar-width: none; }
  .wv-bar::-webkit-scrollbar { display: none; }
  .wv-id, .wv-open { display: none; }
  .wv-models, .wv-mode { flex: none; }
  .wv-models button, .wv-mode button { padding: .4rem .65rem; font-size: .8rem; }
  .wv-close { flex: none; margin-left: auto; width: 38px; height: 38px; padding: 0; font-size: 0; display: grid; place-items: center; position: sticky; right: 0; background: var(--ink); box-shadow: -12px 0 12px var(--ink); }
  .wv-close::after { content: "✕"; font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  [data-r] { opacity: 1; transform: none; }
  .h1a, .h1b { clip-path: none; transform: none; }
}
