/* Bakulin Law */
@font-face{font-family:"Unbounded";src:url(../fonts/unbounded-cyrillic.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";src:url(../fonts/unbounded-latin.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-cyrillic.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
[hidden]{display:none!important}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAOcAA8AAAAABvgAAANDAAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVC4ARBEICoMoglsBNgIkAxQLDAAEIAWEUgcgG5oFUZQwygSCH4mxsezGMJ46VqZLG1IIV/zBVfA85kXvJ+kg7UwXtG46AzzC7hLdmqvs8fjTnT3HpFghPGAKlAJa80o+hezuN6aI00CgqVM1Y1pAJ0kswhH5C62FbwHKa8akARaxAIfSYdAr1grYYoELYsVaO0wIYn391u9I+tZnd4AAHgCgEASDIIAlCwGrU299hhwGIAwBAAEsRdQlsefl70RHB+H19EwQZnAuG11UVuCAWqQ6ADTm29KNdm0gOsUPaHa2ACdNSlNKPw1dmECyARgAVU4FQA5JBCGGAGkwIIvE+P6yxwyg0IBCyQpQRwFQgAbSSCJAGilKAGLEUGBSmbSmVBiCSdlv5c/HP8GfKwgAAIKEIT4gOABYIAFMA6wHAAYAg0IjaOPyLX4sjY17KYvY3TV2vDjIJ2kOXcfHI7H4+nVmXLtm+91Vbs68YUfvy3ta4DzHrFmFNT3sK1ui24tbV5ozekVKcpXnDiBVNubZV/D8ILhAFdzFJ+AF244Xj1vb+v3MYGbmjNx9n2F0hlj4H2gTjBv2+XihNmMqVOlTp3b1PmPLtyjY+XO2mk1qjGhaoyaTF6Q7MrFM+/JVKnQeWqbVneDUgBE92hYt1ObdrXU1MzyrX61OhbIVWlRtXrBv1rJ1K5UvuKZ8fjZvG3b1wsdRY4Lho95eoG65pa26NK5d7VqLw7++l63bcECrromvdu2Psq/y5mxc7WXr66Vf5cyxoMQDAGYQIHvGPsl2ZXt3v8q3mNavAA+rL5vjCOAl9b66QOdXARBBASDwZ2LdHMIKKzAI6ui6nLegx5rz8/8tTlMXAxzySwEguGtxRkkiJg5sx5MqpPKnKpKcVDXl/KuGXBnVoV357IhMT1GSlGsDKA+JJ9eojVhiDoVE5uHamtrauDMZ4i5M34jP9Av94vYcRIV+eLgpn0dGHC6uSObxWFxjDQ0SBdzzfav7QQzx1QmR6JCImDyuBn/3UknP5x0hiU/3xdFSN9DUMrE1tTWZnamlMVCLwyv8nKvonPJ936NE5CFE53rRVDdS1zZU9wsFeiok6FfbyMDIrzeFw0ZC18/BXMsqt64M6urW2xLW3llZu8GjpkmIUbhOKQAA) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0411,U+0412,U+0415,U+0432}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAALgAA8AAAAABiwAAAKGAAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVC4APBEICoFwgU8BNgIkAwwLCAAEIAWEUgcgG/4EEVWcoyB+JNjOoyp02TocSBhsaP6zR1CtQfbs3gMDh+RXyhOpsCNimzvSs5iWH8tA1eQJ4AW6vIoAmLqp31g0MfoFEmCkEYVdImkXpWWFkSW4BngXp09ZwAFHItnNUoTf1bRbNBcQqA4IIQkhUFVzLcX4idPnq6yAsgQEququp0y5r/66I3u3a7l9zf6dWtL3QZEeiTtUIF1NizHt2CRW6hvzQQ/MM3PMTJ431oT8TVlN8Xu0REAamH5Ha1kIlQXqCzSXDm3avD8KJBlJijtIT4OEjPqyQH2FzqioEJKxJpQlcnb5XPmMAIQoS7UQMqiIyhiHBYACFLIokK1ftUr1VdWKqocSbq2lZtGy78kOL73n9LvvVq1eoca1Ih58z+qqLPVBnHm/6tpY93bV6vtUV0PNCrVUN++3M7+faRaJT35rvK9xZWXfscsNnzrSf9Gg4YOX7eg/9+PfX9y8e/WCHl3n//rh7TGNv500cvzgAYNnj5jVZUOLAROGDupyz6BO7ntw5zuv/8nE77v2/vI6OC0Qjx+4UmPzu6tqDf+vcs4/whejbp6HH0x8wXxyp/Q7Kkog2EyYZxFAZ03YcEPOE8x30v9rnHVS1AQMVbFXFkUVPERJQ10P0aSm52k20Ou00DYKWsHC6BhUvJKOk5oGxr0/eBSqx7vGKTD7s8DzBTE0wyBrH8gmfaJM3/Amc4YhvATpSuEj46TkC5Hxtqp6gfDlU3lhonqIXgwupoKrsm1VeZT3LcGT8YPpSkPTO9PutPOspO5FJC/ydAuMB5iSVt/RcwVizE+a0lKMpvKGj1314G20Gq33Zbj8TzyOv1iQCa7wIFaQeepsNN7BQqMi/MrbBgAAAA==) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0042,U+0045}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAOUAA8AAAAABwwAAAM6AAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoARBEICoMoglkBNgIkAxQLDAAEIAWEagcgG6wFKJ4FdsN1EaAoiNElV8RpGD/MR/A1/Lnv7qhFtlJdkwyqGYVj0CAkwpeWRKJjTGRcXPT/+d/Vn6aW+mK7D67ZVlQ3jJr0CH0ZIpLd/aYURpwGIqEEElSc//N/M20sDHSSZKH9F62F/+XhtqhogCWW4CRfWHSAFx7wvZuCtV/s970ty19AoBGQhFCEQL0uIbCjnKIqcFagEhCoN4WCiz7nvwYpFgjZ7ZoNQhZQ6yVnYD9UkR4MFwCOi/G4BCbVwIrk4WezBOC7+BQmP/8NlH8JAQqk9fQJ6IMLoVagE4Yuhlte0DACSAKiFvsBEjI64QKdCHNArVqJ0l4CClNJaYtHeV/+f/p/DTAAISq1IFSBejThDngCoIAiyUIukPRy9q93cfchrtWNcB3AmbygOU02OHhBo6bHmzdh5I0brlylcnvULVd1XbezbcbdQfVx3tw2V0D/OiYxO5J2KRjqhlDzJqthPJW0tuvOXhfnQAKebXg8HB1yPS+m64s+rv201ufjuk/rDn90nO34O9uR0ztr/OsVAQ0D4hK57Ow0NDCuyr/0iiF2L7YtPTYW5k96OXhSdE1cUlyzNbry16fngtJWTfWudl+/sND/dK+Y1RSdGZPhNwj6xSd3CaGd4Nfu0cc2PZ025dP4aQ82we7YWNFalJHyc3fz21vZ2QWmqmbiS/24B30UMngHc6Vlf+/24MCwHscAcA+B+ND/s8tOtXol/a/F8TeAP7vTxwL+yjmQCvJ2+gRUSyD4FT/fSJDQARhOV+VyKO54QtsR93fUA6kwVBlFgABb9e7gorgAz6AhhXbbpaTZt5StuCQVAyGkKufprld3yaFis5UsL2EENMYNQJ3v/0Qmid0gChFPoCExjBgMUhUBQqpm00Gis2EhLFIZhcQE6aQhpdNpBBKFitSTQKOxUyWg0XgijUDXgdJJYg3fLpHwLBCOxEajoumH+3qp+b0KCE9n0U4RgRLLKEKiEulKJC529HNNMjkS1kC3maLKNnkMIMr9gxKJhaqRESUehRGHwkL6i9YHD2Ex4sWKx2rWV28jVHW+y7QbZVK6oAVl/AaPVipHkVrIS9+nGMIS6axwoMICBgAAAA==) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0411,U+0412,U+0415,U+0432}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAMAAA8AAAAABkAAAAKnAAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoAPBEICoFwgU0BNgIkAwwLCAAEIAWEagcgGxAFIC4KbLcVg7DBWCHSTpdH+8KIhwe9/js3yVO+UIHgooLQiZjq77azpGvp/4OPzMU87YtP6CRil4qlZ8i6MI0Q1W5vjumJ05QiCyHgyoUw/3s5//eW7uQ9H50ksYWJ5d36szJLML6BenHYKEsLA069mbuKcLqWXzuAQGVACIkQArl6XM6wEUdXMC6DIkAg1w6qUq6bWbtVBu5ebApw6cMgS16O60pIziSzgLHHLrFAI9OFCF4zYU4AXjDEQX8uViIrRAMgIOmdFNBIVQjlArU5qKeyc2VknAyJgCiP6yBBitqqArXVtAJKZUJiiIMP7F18vrgAhChSDSEFpSjHUGAqABnIpCJDtXZeUXlhpSzfudSaaqomPVvvXn7zU4c++SSvXFLlbBKPuvaW88THcfizfMlc+15eeatpVVQtqaayce+uwl01/r27cPfz/5ZeKX3LfHfj6V/3nG7P6NWv1/z17an/F35eteXtGttMr3zPzWNrv966xx06Du0xpNZu20fTBh3LPPfskZfu//H82cKJ89/cDw4JxJPbm9X9vNHCav3+K6+mf8D3Ay+E3424xoO0f1JAqQQEmkTpYgJaApSrIk0nOy5kKxtvUi3VQPogyB1QFVkFHkHqQk1/LlHVCy7Vw7/LNEnmSsxIi7D0iu+zVfXILZnIVI5PgMvP/4OhWOmXEgtFjDkNvoaGOVciZM61wgdmFQQizDmjsAT5ZMzZYRkRpmhz1kQMo6QNeDyhmBGxPqBPLN9PZyyUIQFWMDSPLdu23sr3LpCQlXmn1KEuX93QiR0nhs8atkcdKWju7g2iaDFWmCv1H0MBg7GM9siH+lBDDxLIl7ZNISI09HX1Cc/NwZ+4nfZJiZUMDWmxDGJKyHPq0JFbJOjrjhEhZuWqQDFdBAAA) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0042,U+0045}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAOgAA8AAAAABxgAAANJAAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoARBEICoMwglwBNgIkAxQLDAAEIAWEbgcgG7MFSJ4FdjP1IUwGKWLo8O8kWxCRXVQ900dFbyIErBjUzjf3uyGmi+g3N3bbvt4XD5nslUzUyOs0j0QLzVBgtxdTxGkgFEJVJf/831I7wQI5LaEs1Oy/Tx23RWFZXHSAJRbweXgie8ONBjoMeEA280aySGmMrKRO/zIv+SdAgCAAYBAERRDAT1obsKrVbT4whAI4DgAggJ+8GHqRz83tTrUANk66XgIb+BiA2rqmJf1gpmgKUKda2sOpOSIxvHn95QDglMa0sH3iBKDvJT0ABTClzXsgo14EwYsASRiQVs/AHnQdU8AgAOIzLQGAASyQ1IsASX0UBPDixYDGNaWFHQc0xo/y5+Of93/uIAAACOI4RADBBYAfCAGjgaUAgAKgGCyCVReOeFN+Xyge6Q4B9Q+ke4cImisBV4Qgoan37zPq3j1/d0an3h19x993fbbLXTtsLSD7oOS8jn5q5aaw2jmg/RMj/r4PADD5JT0g87G667Luz3WdUWQ395Owo7C5PrNlxF/z3cH3B0PvDrw/sPv775pbyr9ArbdyzvvMYNtB4jKkQa+iuqJmo7VOfCs8u9WawlxMucpOKt5cVE6YKPGb9FfY+blnn5Sfmcf/gyt5KE2h0m6e+7K+sZ9ztd/O9JHnByePHd4dvS1dyD4+5/xxAWV/nf1NOto0CleFyVeeVatmKQTi/+/9Q25mr7C+Wtk712Vn1vwry/+Z9wEwCgFkb/8qS/2I5GTZb15rXwI8qDBjHABeUP1SFrA1zXvAjQFA4K8otjeAbJSAIVGXbYF5Via0N5L4jvGcsjDARU59AAhuzc8IvYj6gB3Q8kLcJW8Ic4q3FPfAK5lT3kXzsgP3iBzGhSneCoEoQbn3ouIj2kOqQMo6qrIotDocBwsHB86HBuH8SjKQhhICRMC5VCE50IE6nFpDHQ2pqsFtodXVldVIMDFRslBdQwbDAaSYxxCEUgCRkBKDGuU39hZtW7mfB0RpKEirYmMQYmGTclBzkK7l7Ic0SAz3AuDHYNZiFt/1O1JIdQhSUBPFwiDGwCHCQICa+HZRIAKHmJAYIW4u+YhezcG1YPlMkGHKKWAQWu1jcjKwCYIXvZUXVJSlgRQQegHAWaYwAQ==) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0411,U+0412,U+0415,U+0432}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAMYAA8AAAAABkgAAAK+AAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoAPBEICoF0gVABNgIkAwwLCAAEIAWEbgcgGxcFUZQMymiILxKyOcx1aogFjSON2XY0iKOLKuL9rr9lBJAe/80meVT3KVUiKwF37thB6OAczuX1f+RY90ENkz6wGiDnCnQNDayZkqOo3d48QxNxGgjFUvs+S8vrDTBJeT7vLR3YUdlxf0sotzTB2bSsMEo0seMU6sXpKAt4wJFIkNtCfEi/g4SF0m4gIB8QBJEgCMhVicvp1efoCqYkkKaAgFyNMGXJcwvnV6Xg3neTgysfgiR6K7ozTrT7aoGBfcJ4zcaABkozZJ8AvKyH7fkqzSP5NbhAgKhD9CuqKQuCbAHlHFRSWjEjNE6CSICQE40DiBCjXFlAuTH1gEyJINLD9k+Jq9OX0hcEQBDSVBGCGGQiG72BUQAkIBELCXK1IjenYEJekrvihLML5EdjSy7Wfu0dG99+O7cwjgv2dEG7A+YSDZvKnZyXMrm5S+QrIDtUJF+/Xx7/+rjgl0e/Prr7y7/n/r2Wyruw+9GsnW3GtOvcdvz8zsiMrrefqd6uecPR/x48OKz8Cc3nN2z4aqecLdcfX7/6jw3/8NLze58d+vD44eYvdPydQ26DjQLCfXvvxqXxE6Y7/ZYdx9/DZ2v/VvhOn6c/iPtFvyJTBAK25PFsAal3ORDE8Vj7YU+Z/ThWz1hLwFKu9cpCkoNbtAhK/SFS6GXE2vhHokYJMoypDjLVaG1SqE2n0iGRH972f+co7nM9kcIvJRIIGVVNnqamqishVHUt94FYOQEJVWcUEkOfjKp1lhEiila1KGQYBW2I4wIRI2R9YD6RDBcgJJBCPpIzNM6ObVpaRb8LKGCl3ikNTI+nYeTEuhOjZzVrVSXKqr69gRQtQnLVUd8x4DMISWmPPMwA09THCOhLx4oAEpoGegaE5+XKP7HQPs06QcHQGC2SYogS4E7tOHILDdXqEspENpCUUAbSE1oAAAAA) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0042,U+0045}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAOUAA8AAAAABxAAAAM9AAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoARBEICoMwglwBNgIkAxQLDAAEIAWEZgcgG6sFSB4HORmvKRHuxcmi+DAvU0GEcv3PJnvKgz5EVZZKgJVy39pv9v8P3qBybyO6e5jLnNicSYx4KsQCzy/v/VKMuhFOB0KbOJvuJXjtBZ4Nbfo/NqANdKMHbGIDft4CS6QLi9KsMOCALG1HIUmhK0nSIK1P+htAgGgAwCAIiiCAIx0Fq1Zj7wxaUQDvAQABHPkIdeR53bcIHVDec+yBgoOcVtvSnCQAZrppBVC37JcOjKQlIjI8eIM9ADirCVrEvvRR0C+SAUABTFnzBcikjiCEESAZBqRTG9nTiJkCBgEQZ04CYAALJFNHgGQaFAKECWNAEzW5FvEeNCFey59vf778uY8AACCI98QBQgAAB8QAk4EVAIACoBgsglWVjw8nd5GYBI91jFI3EusTQ7S5KMraOKKJmfHoEZMePnQ96JhxZ/JtN3RT9mvNONZagM+kh7UWdnLEyGKdFlFldtq5oQs8Yje5UQG4UG9jtkO5b2kpWQ4HnFCODwE7gO2b1T9f/XI19Pnal2vrP//Y/2N6/hfYOO87Vz2eZDqOni7ba2Nj2aimWrIqO9/mr3+8N8Tv9E2tR062mC5fsoM30bSrzEFvRE8XMm/zzmELmidti86fNmfODuN+1qtsLnuGxTnfcfnc4v3THmxdn+/8qq23p1FqLjTtvLeyECgw/dqjGtV33Mv7/0/hAWczR6dJVSDH0d7rMv5JmfJGhk0ATEIAOTA8LBVedYwr9zts7TuApxVnTwN4S41PKWCbmi9AEAOAwF+x7VAA6OmAIcWAbcdG1zHgUCDNZ9Q3UxgQIJcGAII655igjmgE2A01JST6ogyxnKUsJfxRSpYoFaBFcsjBHjqOjKVEVtNEiZaHdyqOsDyjKuIrhEw6Q4wboRoxgjtjQNw5zwuS8LxBb7gjIWJBr2LcskTMQEIRrpchFvNFZkiSzoSGEi+EV8QN706IzoE0xBOLSMnZtj6W7zuBdAnHs9AwYZJq2KwDyw7MzjUMuSpIiKcX8GOqyVjnpyQNar8gIY7ILZUwTRgxRXiDUuMG6NCbEdMmTXtzT1d+xTTy+izVv5MqqGKHMGC4JB3asOcSPlRdYXvRmzoA+JUUIQ==) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0411,U+0412,U+0415,U+0432}
@font-face{font-family:"BakB";src:url(data:font/woff2;base64,d09GMgABAAAAAAL8AA8AAAAABkAAAAKkAAGzdQAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbIBwwBmA/U1RBVCoAPBEICoF0gVABNgIkAwwLCAAEIAWEZgcgGw8FIB6HsXukxObLyEdxH0Ggx3+zSZ7ybXZq6UqsANyVhOvcO/dePw/cpvtODpN+YDVUAJQU6BoaWDMlR2je58JU4upAbMYD3uQt3cs7X89rCcUWpgnOpmWFUaIJfg94F6ejLA4DjkSC3BbiI/odJC2UdgKByoAQEiEEco35vNFjj66gI4OiAARynTF1yXWr+6tz8M+7LcGXb4Ms+SB5TAnJvmQ+MOlYJ5bqZR5YUJqpcwLwlJEO+m1RieyPaAoEJIOSP9BcXQjlArV5aKy2YUVsvQyJgMiTx0CCFLXVBWpraA+UyoTESAe/II4uniweF4AQRaEaQgpKUY4xwGwAMpBJRYZcJ6+osqxSlm/Y9uoqKidNa660efl9O997L6+aplX2V9b4E8tz4pux6418bqWUn8jzNZZVIZtVTWVj3kt/vFT2+8t/vHzx938e/rMvlfdg35UFG8Zzp0P6LS1Hs1YGPlqsNG83vNOc5bXH59S6UblLo3btlg6Lg9+1zts0PdXuJy88ferh3nevX+z8zJnrb+wFOwXikXVvfLLvtWXVBv9f3vQn+HLYob3wo7HXWJDOSv5AqQQEtsTpGgHAKg+CNF3sMHgbOnRT7TVKAp257eoiq8BdlH6o6c9PVPWUn+rr38+0TOaXmJu2UekV3epV1TdnA5GpHO/94JErj6+MQiq/tEQkZqGeQE8PuhKT0LXSB+KUBElAZzSSkj5ZaIdjxYhmoDUxy6oYMxwXSVgx5wPziRS4CCGRnBQiJcvgXNui9VHed0GKOLl3WhczFuiaO7HjxPxZzvbKEoXh3RuSZiRICVt9x0jIIiRnPAowU0zPBCNIX4Y2RSShZ2psSngeLv0TE+PTrB1ULIMxEjmGaBHu1KEjt6Shj9pFckIdKE7rCQA=) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0042,U+0045}
/* Layout: «Кабінет адвоката» — a magazine-cover hero (chrome surname masthead, live 3D monogram, cut-out portrait), a paper dossier, a code-book practice index, a chess strategy, a rights memo, the office and contacts. Graphite with two-tone steel and gold, like his watch and the chess set. Wide modern display face with a clean grotesk. */
:root{
  --ink:#0B0C0F; --ink-2:#101217; --ink-3:#171A21;
  --bone:#ECE9E3; --fog:#9DA1AA;
  --gold:#CDAA62; --gold-hi:#F2DDA4; --gold-lo:#8F6E32;
  --steel:#BCC1C9; --steel-lo:#6F7580;
  --paper:#E4E2DE; --paper-2:#D6D3CD; --paper-ink:#16171B; --paper-mute:#55575E; --paper-gold:#765823;
  --wine:#6A1D29;
  --line:rgba(205,170,98,.2); --line-2:rgba(236,233,227,.12); --line-p:rgba(22,23,27,.14);
  --f-display:"BakB","Unbounded","Manrope","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --f-sans:"Manrope","Segoe UI","Helvetica Neue",Arial,system-ui,sans-serif;
  --gutter:max(clamp(16px,4.2vw,64px), env(safe-area-inset-left,0px));
  --gutter-r:max(clamp(16px,4.2vw,64px), env(safe-area-inset-right,0px));
  --hdr:74px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --d0:.08s; --d1:0s; --d2:.42s;
  color-scheme:dark;
}
.no-intro{--d0:.05s; --d1:.2s; --d2:.4s}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--hdr) + 16px); background:var(--ink)}
body{margin:0; overflow-x:hidden; background:var(--ink); color:var(--bone); font-family:var(--f-sans); font-weight:400; font-size:1.0625rem; line-height:1.65; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility}
html.lock, html.lock body{overflow:hidden}
::selection{background:rgba(205,170,98,.35); color:#fff}
a{color:inherit}
img{display:block; max-width:100%; height:auto}
button{font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}
p{margin:0 0 1em}
.sr-only{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.wrap{width:100%; max-width:1440px; margin-inline:auto; padding-left:var(--gutter); padding-right:var(--gutter-r)}
.ico{width:1.1em; height:1.1em; flex:none; stroke-width:3}
.eyebrow{display:inline-flex; align-items:center; gap:.9em; margin:0 0 1.5rem; font-family:var(--f-sans); font-weight:700; font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold)}
.eyebrow::before{content:""; width:34px; height:1px; background:currentColor; opacity:.75}
.h2{margin:0; font-family:var(--f-display); font-weight:500; font-size:clamp(2.05rem,4.5vw,4.25rem); line-height:1.04; letter-spacing:-.025em; text-wrap:balance}
.acc{color:var(--gold-hi)}
.lead{font-size:clamp(1.1rem,1.4vw,1.25rem); line-height:1.6; color:#d8d5cf; max-width:40rem; text-wrap:pretty}
.gold-text{background:linear-gradient(100deg,#9C7A3B 0%,#E7CB87 26%,#F6E6B9 40%,#CFAB62 58%,#957233 80%,#D8BA74 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-box-decoration-break:clone; box-decoration-break:clone}

/* buttons */
.btn{position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.75em; min-height:54px; padding:0 1.6em; border-radius:3px; font-family:var(--f-sans); font-weight:700; font-size:.92rem; letter-spacing:.03em; line-height:1.1; text-decoration:none; white-space:nowrap; isolation:isolate; overflow:hidden; transition:transform .5s var(--ease), box-shadow .4s, background-position .9s var(--ease), border-color .3s, color .3s, background-color .3s}
.btn > *{position:relative; z-index:1}
.btn .ico{width:1.05em; height:1.05em; stroke-width:3.4; transition:transform .5s var(--ease)}
.btn:hover .ico{transform:translate(2px,-2px)}
.btn::after{content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.42) 50%,transparent 70%); transform:translateX(-130%); transition:transform 1s var(--ease); pointer-events:none}
.btn:hover::after{transform:translateX(130%)}
.btn--gold{color:#17130A; background:linear-gradient(105deg,#9C7A3B 0%,#E3C67F 26%,#F6E5B5 38%,#D5B26A 52%,#A27E3D 74%,#E8CD8C 100%); background-size:240% 100%; background-position:12% 0; box-shadow:0 16px 36px -18px rgba(205,170,98,.75), inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.2)}
.btn--gold:hover{background-position:88% 0}
.btn--line{color:var(--bone); border:1px solid rgba(236,233,227,.26); background:rgba(255,255,255,.025); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)}
.btn--line:hover{border-color:var(--gold); color:var(--gold-hi)}
.btn--sm{min-height:42px; padding:0 1.15em; font-size:.84rem}
.btn--xl{min-height:62px; padding:0 2em; font-size:.98rem}
.link-arrow{display:inline-flex; align-items:center; gap:.7em; color:var(--gold-hi); text-decoration:none; font-weight:700; font-size:.92rem; border-bottom:1px solid var(--line); padding-bottom:5px; transition:gap .4s var(--ease), border-color .3s}
.link-arrow .ico{width:1.25em; height:1.25em; stroke-width:2.8}
.link-arrow:hover{gap:1.1em; border-color:var(--gold)}

/* intro curtain */
.intro{position:fixed; inset:0; z-index:95; display:grid; place-items:center; background:radial-gradient(60% 60% at 50% 45%, #151821 0%, var(--ink) 70%); animation:introOut 1s cubic-bezier(.75,0,.2,1) 10.5s forwards; pointer-events:none}
html:not(.js) .intro{display:none}
.intro.is-out{animation:introLift 1.05s cubic-bezier(.75,0,.2,1) forwards}
.intro.is-wait *{animation-play-state:paused!important}
.intro__bar{display:block; width:min(180px,42vw); height:1px; overflow:hidden; background:rgba(236,233,227,.12); opacity:0; animation:fadeIn .6s ease .6s forwards}
.intro__bar i{display:block; height:100%; background:linear-gradient(90deg,#9C7A3B,#F2DDA4); transform-origin:left center; transform:scaleX(.02)}
.is-loading .hero, .is-loading .hero *{animation-play-state:paused!important}
.intro__in{display:grid; justify-items:center; gap:26px; animation:introIn 1.5s var(--ease) both}
.intro__mono{width:min(230px,50vw); height:auto; overflow:visible}
.intro__mono path{fill:url(#g-intro); fill-opacity:0; stroke:url(#g-intro); stroke-width:3.2; stroke-dasharray:1 1; stroke-dashoffset:1; animation:draw 1.2s cubic-bezier(.6,0,.2,1) .05s forwards, fillIn .7s ease .75s forwards}
.intro__word{width:min(250px,56vw); height:auto; color:var(--bone); opacity:0; animation:fadeIn .7s ease .85s forwards}
.intro__line{margin:0; font-family:var(--f-sans); font-weight:700; font-size:.66rem; letter-spacing:.34em; text-transform:uppercase; color:var(--fog); opacity:0; animation:fadeIn .7s ease 1s forwards}
.no-intro .intro{display:none}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillIn{to{fill-opacity:1; stroke-opacity:0}}
@keyframes fadeIn{to{opacity:1}}
@keyframes introIn{from{transform:scale(.94)}}
@keyframes introOut{to{transform:translateY(-100%); visibility:hidden}}
@keyframes introLift{from{transform:none} to{transform:translateY(-100%); visibility:hidden}}

.grain{position:fixed; inset:0; z-index:80; pointer-events:none; opacity:.06; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media (hover:hover) and (pointer:fine){.grain{animation:grain 1.4s steps(5) infinite}}
@keyframes grain{0%{background-position:0 0}20%{background-position:-44px 28px}40%{background-position:36px -52px}60%{background-position:-60px -16px}80%{background-position:48px 44px}100%{background-position:0 0}}

/* header */
.hdr{position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); border-bottom:1px solid transparent; transition:background-color .5s, border-color .5s, -webkit-backdrop-filter .5s, backdrop-filter .5s}
.hdr.is-scrolled, .hdr.menu-open{background:rgba(11,12,15,.8); border-bottom-color:var(--line); -webkit-backdrop-filter:blur(16px) saturate(1.3); backdrop-filter:blur(16px) saturate(1.3)}
.hdr__in{display:flex; align-items:center; gap:clamp(12px,2.2vw,34px); height:var(--hdr)}
.brand{display:flex; align-items:center; gap:14px; margin-right:auto; text-decoration:none}
.brand__mono{width:54px; height:auto; color:var(--gold)}
.brand__word{width:136px; height:auto; color:var(--bone)}
.nav{display:flex; gap:clamp(16px,2.1vw,32px)}
.nav a{position:relative; padding:6px 0; font-size:.86rem; font-weight:600; letter-spacing:.02em; text-decoration:none; color:#cfccc6; transition:color .3s}
.nav a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:right; transition:transform .5s var(--ease)}
.nav a:hover{color:var(--bone)}
.nav a:hover::after{transform:scaleX(1); transform-origin:left}
.burger{display:none; position:relative; width:44px; height:44px; border:1px solid var(--line-2); border-radius:3px}
.burger span{position:absolute; left:12px; right:12px; height:1.5px; background:var(--bone); transition:transform .45s var(--ease), top .45s var(--ease)}
.burger span:first-child{top:17px} .burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px; transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px; transform:rotate(-45deg)}
@media (max-width:1060px){.nav{display:none} .burger{display:block}}
@media (max-width:560px){.brand__word{display:none} .hdr__cta{padding:0 1em}}

.menu{position:fixed; inset:0; z-index:45; display:flex; flex-direction:column; justify-content:space-between; gap:32px; padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 28px) var(--gutter-r) calc(28px + env(safe-area-inset-bottom,0px)) var(--gutter); background:rgba(11,12,15,.97); opacity:0; transition:opacity .4s; overflow:auto}
.menu.is-open{opacity:1}
.menu__nav{display:grid; gap:10px}
.menu__link{font-family:var(--f-display); font-weight:500; font-size:clamp(1.9rem,8.4vw,3rem); line-height:1.1; letter-spacing:-.02em; text-decoration:none; color:var(--bone)}
.menu__link:hover{color:var(--gold-hi)}
.menu__foot{display:grid; gap:16px}
.menu__foot p{margin:0; color:var(--fog); font-size:.86rem}

/* hero */
.hero{position:relative; isolation:isolate; overflow:hidden; min-height:max(680px, min(100vh, 1040px)); min-height:max(680px, min(100svh, 1040px)); background:linear-gradient(180deg,#0e1016 0%,var(--ink) 100%); --px:0; --py:0; --hp:0}
.hero__bg{position:absolute; inset:0; z-index:0; pointer-events:none}
.hero__glow{position:absolute; left:var(--figx,50%); top:58%; width:min(95vw,1100px); aspect-ratio:1; translate:-50% -50%; background:radial-gradient(circle, rgba(50,62,96,.62) 0%, rgba(28,34,52,.32) 34%, rgba(11,12,15,0) 64%)}
.hero__glow::after{content:""; position:absolute; left:62%; top:34%; width:46%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(205,170,98,.16), transparent 66%)}
.rosette{position:absolute; left:var(--figx,50%); top:54%; width:min(116vh,1180px); aspect-ratio:1; translate:-50% -50%; opacity:.2; transform:translate3d(calc(var(--px)*-22px), calc(var(--py)*-14px), 0)}
.rosette canvas{display:block; width:100%; height:100%; animation:spin 46s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.hero__mast{position:absolute; left:0; right:0; top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 6px); z-index:1; pointer-events:none}
.mast__meta{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--line); font-family:var(--f-sans); font-weight:700; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--steel); animation:fadeIn .9s ease var(--d0) both}
.mast{margin:0; text-align:center; line-height:.8; padding-top:18px; animation:mastIn 1.3s var(--ease) var(--d0) both}
@keyframes mastIn{from{clip-path:inset(0 0 100% 0); transform:translateY(24%)} to{clip-path:inset(-30% -10% -30% -10%)}}
.mast__word{display:inline-block; white-space:nowrap; font-family:var(--f-display); font-weight:700; font-size:clamp(3.4rem,15vw,15rem); letter-spacing:-.02em; text-transform:uppercase;
  background-image:linear-gradient(100deg, rgba(246,228,182,0) 42%, rgba(246,228,182,.95) 50%, rgba(246,228,182,0) 58%), linear-gradient(180deg,#F4F5F7 0%,#C6CBD3 30%,#7B818C 57%,#D7DBE1 75%,#8E939D 100%);
  background-size:260% 100%, 100% 100%; background-position:140% 0, 0 0; background-repeat:no-repeat; -webkit-background-clip:text; background-clip:text; color:transparent;
  transform:translate3d(calc(var(--px)*-18px), calc(var(--hp)*-14vh + var(--py)*-7px), 0); animation:glint 9s ease-in-out -.2s infinite}
@keyframes glint{0%{background-position:140% 0,0 0}36%,100%{background-position:-40% 0,0 0}}

.hero__stage{position:absolute; inset:0; z-index:2; pointer-events:none}
#scene3d{position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:auto; opacity:calc(1 - var(--hp)*1.4); touch-action:pan-y}
.hero__fallback{display:none}
.no-3d .hero__fallback{display:block; position:absolute; right:6%; top:38%; width:min(26vw,360px); height:auto; color:var(--gold); opacity:.9}
.hero__figure{position:absolute; left:var(--figx,50%); bottom:0; height:min(92%, 980px); aspect-ratio:845/1700; max-width:100%; translate:-50% 0; z-index:1; transform-origin:50% 100%; animation:figIn 1.6s var(--ease) var(--d1) both}
@keyframes figIn{from{transform:translateY(3.5%) scale(1.04)}}
.hero__portrait{width:100%; height:100%; object-fit:contain; object-position:50% 100%; transform:translate3d(calc(var(--px)*10px), calc(var(--hp)*9vh + var(--py)*6px), 0) scale(calc(1 + var(--hp)*.04)); transform-origin:50% 100%; -webkit-mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 99%); mask-image:linear-gradient(180deg,#000 74%,rgba(0,0,0,0) 99%); pointer-events:none; will-change:transform}

.hero__copy{position:absolute; left:0; bottom:clamp(28px,6.5vh,76px); z-index:3; box-sizing:content-box; width:min(470px,36vw); padding-left:max(var(--gutter), calc((100vw - 1440px)/2 + var(--gutter)))}
.hero__copy > *{animation:riseIn 1.2s var(--ease) both}
.hero__copy > :nth-child(1){animation-delay:var(--d2)}
.hero__copy > :nth-child(2){animation-delay:calc(var(--d2) + .08s)}
.hero__copy > :nth-child(3){animation-delay:calc(var(--d2) + .16s)}
.hero__copy > :nth-child(4){animation-delay:calc(var(--d2) + .24s)}
@keyframes riseIn{from{opacity:0; transform:translateY(22px)}}
.kicker{margin:0 0 16px; font-family:var(--f-sans); font-weight:700; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--steel)}
.claim{margin:0 0 18px; font-family:var(--f-display); font-weight:500; font-size:clamp(1.6rem,2.3vw,2.15rem); line-height:1.1; letter-spacing:-.025em}
.claim span{display:block}
.claim .gold-text{width:fit-content}
@media (min-width:980px){.claim span{white-space:nowrap}}
@media (min-width:980px) and (max-height:820px){.hero__copy{bottom:clamp(18px,3.4vh,34px)} .claim{font-size:clamp(1.45rem,2.05vw,1.9rem)}}
.hero__lead{margin:0 0 28px; max-width:28rem; font-size:1rem; color:#cfccc5}
.ctas{display:flex; flex-wrap:wrap; gap:12px}
.hero__aside{position:absolute; right:max(var(--gutter-r), calc((100vw - 1440px)/2 + var(--gutter-r))); bottom:clamp(28px,6.5vh,76px); z-index:3; display:grid; justify-items:end; gap:18px; text-align:right; animation:fadeIn 1s ease calc(var(--d2) + .3s) both}
.hero__aside p{margin:0; font-size:.84rem; line-height:1.5; color:var(--fog)}
.scrollcue{display:inline-flex; align-items:center; gap:12px; font-family:var(--f-sans); font-weight:700; font-size:.64rem; letter-spacing:.26em; text-transform:uppercase; text-decoration:none; color:var(--steel)}
.scrollcue .ico{width:22px; height:22px; color:var(--gold); stroke-width:3; animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(5px)}}

@media (max-width:979px){
  .hero{min-height:0; display:flex; flex-direction:column; padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px))}
  .hero__mast{position:relative; top:auto; padding-top:8px}
  .mast__meta{font-size:.58rem; letter-spacing:.16em}
  .hero__stage{position:relative; inset:auto; height:min(134vw,660px); margin-top:-6vw}
  .hero__figure{height:100%}
  .hero__copy{position:relative; left:auto; bottom:auto; width:auto; padding:4px var(--gutter-r) 48px var(--gutter)}
  .hero__aside{display:none}
  .claim{font-size:clamp(1.45rem,6.3vw,2.2rem)}
  .ctas .btn{flex:1 1 100%}
  .rosette{top:44%; width:150vw; opacity:.15}
  .hero__glow{top:50%}
}

/* ticker */
.ticker{position:relative; z-index:3; overflow:hidden; border-block:1px solid var(--line); background:var(--ink); padding-block:clamp(16px,2vw,24px)}
.ticker__track{display:flex; width:max-content; animation:marquee 60s linear infinite}
.ticker__set{display:flex; align-items:center}
.ticker__set span{padding-inline:clamp(18px,2.2vw,30px); font-family:var(--f-display); font-weight:600; font-size:clamp(1.1rem,2.2vw,1.9rem); line-height:1.2; letter-spacing:-.01em; text-transform:uppercase; white-space:nowrap; color:var(--steel)}
.ticker__set span:nth-of-type(odd){color:transparent; -webkit-text-stroke:1px var(--gold)}
.ticker__set .drop{width:12px; height:17px; color:var(--gold); flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* reveal (transform only, content stays visible) */
.js .pre{transform:translate3d(0,36px,0)}
.js .pre, .js .is-in{transition:transform 1.15s var(--ease)}
.js .pre.is-in{transform:none}
.js .no-trans{transition:none!important}

/* about (paper) */
.about{position:relative; background:var(--paper); color:var(--paper-ink); padding-block:clamp(84px,12vw,170px)}
.about .eyebrow{color:var(--paper-gold)}
.about .acc{color:var(--paper-gold)}
.about__head{margin-bottom:clamp(40px,6vw,84px); padding-bottom:clamp(28px,4vw,48px); border-bottom:1px solid var(--line-p)}
.about__head .h2{font-size:clamp(2.6rem,7.4vw,7rem); line-height:.98}
.about__grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(36px,6vw,104px); align-items:start}
.about__stat{position:sticky; top:calc(var(--hdr) + 28px)}
.about__num{margin:0; font-family:var(--f-display); font-weight:600; font-size:clamp(5.6rem,13vw,11.5rem); line-height:.86; letter-spacing:-.05em; background:linear-gradient(165deg,#B08A45 0%,#7A5A26 48%,#3F2E11 100%); -webkit-background-clip:text; background-clip:text; color:transparent; padding-bottom:.06em}
.about__cap{margin:clamp(14px,2vw,24px) 0 0; max-width:21rem; font-family:var(--f-display); font-weight:500; font-size:clamp(1.1rem,1.55vw,1.4rem); line-height:1.3; letter-spacing:-.015em; color:var(--paper-ink)}
.about__since{margin:clamp(22px,3vw,34px) 0 0; padding-top:16px; max-width:21rem; border-top:1px solid var(--line-p); font-weight:700; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--paper-gold)}
.register--edu{margin-top:clamp(32px,4vw,48px)}
.about .lead{color:#26272c}
.about__text > p:not(.eyebrow):not(.lead):not(.about__since){color:#45474d; max-width:38rem}

.cert-wrap{margin-block:clamp(36px,5vw,60px); max-width:560px}
.cert{position:relative; overflow:hidden; padding:clamp(26px,3.4vw,40px); border-radius:4px; color:var(--bone); background:linear-gradient(150deg,#1b1d23 0%,#0e0f13 55%,#17191f 100%); box-shadow:0 44px 90px -46px rgba(18,14,6,.6), inset 0 1px 0 rgba(255,255,255,.05)}
.cert::before, .cert::after{content:""; position:absolute; pointer-events:none}
.cert::before{inset:10px; border:1px solid rgba(205,170,98,.42); border-radius:2px}
.cert::after{inset:14px; border:1px solid rgba(205,170,98,.14); border-radius:1px}
.cert__sheen{position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg, rgba(242,221,164,0) 32%, rgba(242,221,164,.11) 46%, rgba(242,221,164,0) 60%); background-size:260% 100%; background-position:130% 0; animation:sheen 8s ease-in-out 1s infinite}
@keyframes sheen{0%{background-position:130% 0}45%,100%{background-position:-30% 0}}
.cert__head{position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px}
.cert__label{margin:0; font-weight:700; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold)}
.cert__seal{width:66px; height:auto; flex:none; color:var(--gold)}
.cert__title{position:relative; margin:12px 0 0; max-width:22rem; font-size:1rem; line-height:1.45; color:#cfccc5}
.cert__num{position:relative; margin:20px 0 24px; font-family:var(--f-display); font-weight:600; font-size:clamp(2.1rem,4.4vw,3.3rem); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.cert__meta{position:relative; display:grid; gap:10px; margin:0; padding-top:18px; border-top:1px solid rgba(205,170,98,.24)}
.cert__meta div{display:grid; grid-template-columns:5.6rem minmax(0,1fr); gap:14px; align-items:baseline}
.cert__meta dt{font-weight:700; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--steel-lo)}
.cert__meta dd{margin:0; font-weight:500; color:#dedbd4}
.register h3{margin:0 0 12px; font-weight:700; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--paper-mute)}
.register ul{list-style:none; margin:0; padding:0; border-top:1px solid var(--line-p)}
.register li{display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:15px 0; border-bottom:1px solid var(--line-p); font-size:1rem; font-weight:500; color:var(--paper-ink)}
.register li span:last-child{flex:none; font-weight:800; font-size:.66rem; letter-spacing:.16em; color:var(--paper-gold)}
.register__note{margin:12px 0 0; font-size:.86rem; color:var(--paper-mute)}
@media (max-width:979px){
  .about__grid{grid-template-columns:1fr}
  .about__stat{position:relative; top:auto}
}

/* practice */
.practice{position:relative; isolation:isolate; overflow:hidden; background:var(--ink-2); padding-block:clamp(90px,12vw,170px); --mx:72%; --my:28%}
.engrave{position:absolute; inset:0; z-index:-1; pointer-events:none}
.engrave canvas{position:absolute; inset:0; width:100%; height:100%; display:block}
.engrave__base{opacity:.06}
.engrave__lit{opacity:.8; -webkit-mask-image:radial-gradient(300px circle at var(--mx) var(--my), #000 0%, rgba(0,0,0,.45) 40%, transparent 72%); mask-image:radial-gradient(300px circle at var(--mx) var(--my), #000 0%, rgba(0,0,0,.45) 40%, transparent 72%)}
.sec-head{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,25rem); gap:24px 56px; align-items:end; margin-bottom:clamp(40px,6vw,84px)}
.sec-head__note{margin:0; color:var(--fog); font-size:.98rem}
.areas{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.area{border-bottom:1px solid var(--line)}
.area__head{width:100%; display:grid; grid-template-columns:auto auto minmax(24px,1fr) auto auto; align-items:center; gap:clamp(14px,2vw,30px); padding:clamp(18px,2.3vw,28px) 0; text-align:left}
.area__icon{display:grid; place-items:center; width:52px; height:52px; color:var(--gold); transition:transform .7s var(--ease), color .4s}
.area__icon .ico{width:48px; height:48px; stroke-width:1.6}
.area__title{font-family:var(--f-display); font-weight:500; font-size:clamp(1.12rem,2.05vw,1.8rem); line-height:1.15; letter-spacing:-.02em; transition:color .4s, transform .7s var(--ease)}
.area__dots{height:3px; background-image:radial-gradient(circle, rgba(205,170,98,.6) 1px, transparent 1.5px); background-size:9px 3px; background-repeat:repeat-x}
.area__code{font-weight:800; font-size:.7rem; letter-spacing:.16em; color:var(--steel); white-space:nowrap}
.area__toggle{position:relative; width:38px; height:38px; border-radius:50%; border:1px solid var(--line-2); transition:transform .6s var(--ease), border-color .4s}
.area__toggle::before, .area__toggle::after{content:""; position:absolute; left:50%; top:50%; width:13px; height:1.5px; background:var(--gold); translate:-50% -50%; transition:transform .5s var(--ease)}
.area__toggle::after{transform:rotate(90deg)}
.area.is-open .area__toggle{transform:rotate(180deg); border-color:var(--gold)}
.area.is-open .area__toggle::after{transform:rotate(0deg)}
.area__head:hover .area__title, .area.is-open .area__title{color:var(--gold-hi)}
.area__head:hover .area__title{transform:translateX(6px)}
.area__head:hover .area__icon{transform:translateY(-3px); color:var(--gold-hi)}
.area__body{display:grid; grid-template-rows:0fr; transition:grid-template-rows .75s var(--ease)}
.area.is-open .area__body{grid-template-rows:1fr}
.area__inner{min-height:0; overflow:hidden}
.area__content{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px 56px; padding:0 0 clamp(28px,3vw,42px) calc(52px + clamp(14px,2vw,30px))}
.area__list{list-style:none; margin:0; padding:0; display:grid; gap:11px}
.area__list li{position:relative; padding-left:26px; color:#d6d3cc}
.area__list li::before{content:""; position:absolute; left:0; top:.8em; width:14px; height:1px; background:var(--gold)}
.area__side{display:grid; align-content:start; gap:20px}
.area__law{margin:0; font-size:.84rem; line-height:1.7; color:var(--fog)}
@media (max-width:760px){
  .sec-head{grid-template-columns:1fr}
  .area__head{grid-template-columns:auto minmax(0,1fr) auto; row-gap:4px}
  .area__icon{grid-row:1 / span 2; width:42px; height:42px}
  .area__icon .ico{width:40px; height:40px}
  .area__dots{display:none}
  .area__code{grid-column:2; grid-row:2; font-size:.62rem}
  .area__toggle{grid-column:3; grid-row:1 / span 2}
  .area__content{grid-template-columns:1fr; padding-left:0}
}

/* strategy */
.strategy{position:relative; background:var(--ink); padding-block:clamp(90px,12vw,170px)}
.strategy__grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,104px); align-items:start}
.strategy__sticky{position:sticky; top:calc(var(--hdr) + 28px)}
.chess{position:relative; margin:0; overflow:hidden; aspect-ratio:4/5; max-width:100%; border-radius:2px; background:#0e0f12}
.chess img{width:100%; height:100%; object-fit:cover; object-position:45% 60%; transform:scale(var(--zs,1.04)) translate3d(var(--zx,0%),var(--zy,0%),0); transform-origin:44% 62%; transition:transform 1.6s var(--ease); filter:saturate(.82) contrast(1.06)}
.strategy__media[data-step="1"] .chess img{--zs:1.2; --zx:-1.5%; --zy:-2%}
.strategy__media[data-step="2"] .chess img{--zs:1.38; --zx:2%; --zy:-4%}
.chess::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,12,15,0) 55%, rgba(11,12,15,.85) 100%); pointer-events:none}
.chess__phases{position:absolute; left:20px; right:20px; bottom:18px; z-index:1; display:flex; justify-content:space-between; gap:10px; margin:0; padding:0; list-style:none; font-weight:700; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(236,233,227,.45)}
.chess__phases li{position:relative; padding-top:12px; transition:color .5s}
.chess__phases li::before{content:""; position:absolute; left:0; top:0; width:100%; height:1px; background:currentColor; opacity:.5}
.strategy__media[data-step="0"] .chess__phases li:nth-child(1),
.strategy__media[data-step="1"] .chess__phases li:nth-child(2),
.strategy__media[data-step="2"] .chess__phases li:nth-child(3){color:var(--gold-hi)}
.strategy__head{margin-bottom:clamp(40px,7vh,72px)}
.strategy__head .lead{margin-top:22px}
.steps{display:grid; gap:clamp(56px,11vh,130px); padding-bottom:4vh}
.step{position:relative; padding-left:82px; opacity:.5; transition:opacity .6s}
.step.is-active{opacity:1}
.step__icon{position:absolute; left:0; top:0; width:58px; height:58px; color:var(--gold)}
.step__icon .ico{width:58px; height:58px}
.step__phase{margin:4px 0 0; font-weight:700; font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold)}
.step h3{margin:.45em 0 .6em; font-family:var(--f-display); font-weight:500; font-size:clamp(1.3rem,2.1vw,1.85rem); line-height:1.15; letter-spacing:-.02em}
.step p{color:#c9c6bf; max-width:34rem}
.chips{display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0}
.chips li{padding:6px 13px; border:1px solid var(--line-2); border-radius:999px; font-size:.8rem; font-weight:600; color:#bdbab3}
@media (max-width:979px){
  .strategy__grid{grid-template-columns:1fr}
  .strategy__sticky{position:relative; top:auto}
  .chess{aspect-ratio:4/4.4}
  .step{opacity:1; padding-left:70px}
  .step__icon, .step__icon .ico{width:50px; height:50px}
}

/* memo */
.memo{position:relative; background:radial-gradient(55% 50% at 18% 45%, rgba(205,170,98,.08), rgba(205,170,98,0) 70%), var(--ink-2); padding-block:clamp(90px,12vw,170px)}
.memo__grid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:clamp(36px,6vw,96px); align-items:center}
.glass{display:grid; justify-items:center; gap:16px; text-align:center}
.glass__stage{position:relative; width:min(340px,100%); height:430px; transition:transform 1.5s cubic-bezier(.7,0,.2,1)}
.glass__stage::after{content:""; position:absolute; left:23%; right:23%; bottom:14px; height:26px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.62), rgba(0,0,0,0)); filter:blur(3px); pointer-events:none}
.glass__stage .glass__gl{position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%}
.glass__stage.is-3d #hourglass{display:none}
.glass.is-flip .glass__stage{transform:rotate(180deg)}
.glass.no-anim .glass__stage{transition:none}
#hourglass{position:absolute; left:50%; top:50%; display:block; width:240px; height:380px; margin:-190px 0 0 -120px}
.glass__title{margin:6px 0 0; font-family:var(--f-display); font-weight:500; font-size:clamp(1.3rem,2.2vw,1.7rem); line-height:1.15; letter-spacing:-.02em}
.glass__note{margin:0; max-width:19rem; color:var(--fog); font-size:.95rem}
.memo__card{position:relative; padding:clamp(28px,4.4vw,60px); border-radius:4px; background:var(--paper); color:var(--paper-ink); box-shadow:0 60px 110px -60px rgba(0,0,0,.9)}
.memo__card .eyebrow{color:var(--paper-gold)}
.memo__card .h2{font-size:clamp(1.85rem,3.6vw,3.1rem)}
.memo__card .acc{color:var(--paper-gold)}
.memo__card .lead{margin-top:20px; color:#2b2c31}
.stamp{position:absolute; top:clamp(18px,3vw,30px); right:clamp(18px,3vw,30px); padding:7px 11px; border:2px solid var(--wine); border-radius:3px; transform:rotate(7deg); font-weight:800; font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--wine); opacity:.85}
.rights{list-style:none; margin:26px 0 30px; padding:0}
.rights li{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 28px; align-items:baseline; padding:16px 0; border-top:1px solid var(--line-p)}
.rights li:last-child{border-bottom:1px solid var(--line-p)}
.rights p{margin:0; font-size:1rem; font-weight:500; color:#202126}
.rights .ref{font-weight:700; font-size:.7rem; letter-spacing:.04em; color:var(--paper-gold); white-space:nowrap; text-align:right}
.memo__cta{display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px}
.memo__cta .btn--line{color:var(--paper-ink); border-color:rgba(22,23,27,.3); background:transparent}
.memo__cta .btn--line:hover{color:var(--paper-gold); border-color:var(--paper-gold)}
.memo__fine{margin:20px 0 0; font-size:.82rem; color:var(--paper-mute)}
@media (max-width:979px){.memo__grid{grid-template-columns:1fr} .glass{order:2}}
@media (max-width:640px){.rights li{grid-template-columns:1fr} .rights .ref{text-align:left; white-space:normal} .stamp{position:static; display:inline-block; margin-bottom:18px}}

/* press */
.press{position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(46% 60% at 82% 40%, rgba(40,50,80,.38), rgba(11,12,15,0) 72%), var(--ink); padding-block:clamp(90px,12vw,170px)}
.press__grid{display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:clamp(40px,6vw,100px); align-items:center}
.press__quote{margin:0; font-family:var(--f-display); font-weight:500; font-size:clamp(1.9rem,3.8vw,3.75rem); line-height:1.08; letter-spacing:-.025em; text-wrap:balance}
.press__quote .q{color:var(--gold)}
.press__src{display:flex; align-items:flex-start; gap:16px; line-height:1.7; margin:clamp(26px,3vw,40px) 0 0; font-weight:700; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--steel)}
.press__src::before{content:""; flex:none; width:48px; height:1px; margin-top:.85em; background:var(--gold)}
.press__lead{margin:18px 0 0; max-width:34rem; color:var(--fog)}
.press__lead b{font-weight:600; color:var(--paper-2)}
.press__more{margin-top:clamp(22px,2.6vw,30px)}
.press__media{position:relative; padding-bottom:clamp(70px,12vw,150px)}
.press__photo{position:relative; margin:0}
.press__photo--main{width:80%; margin-left:auto}
.press__photo--main::before{content:""; position:absolute; inset:-16px 16px 16px -16px; border:1px solid var(--line); border-radius:2px; pointer-events:none}
.press__photo--sub{position:absolute; left:0; bottom:0; z-index:1; width:47%}
.press__frame{position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:2px; background:#121318; box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.press__photo--sub .press__frame{aspect-ratio:3/4; box-shadow:0 0 0 clamp(6px,.8vw,10px) var(--ink), 0 40px 80px -30px rgba(0,0,0,.95)}
.press__frame img{display:block; width:100%; height:110%; margin-top:-5%; object-fit:cover; object-position:50% 40%; will-change:transform}
.press__photo figcaption{margin-top:12px; font-weight:700; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--steel-lo)}
.press__photo--main figcaption{text-align:right}
@media (max-width:979px){.press__grid{grid-template-columns:1fr} .press__media{max-width:560px}}

/* ratings & reviews */
.rating{position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(45% 55% at 12% 26%, rgba(205,170,98,.075), rgba(205,170,98,0) 70%), var(--ink-2); padding-block:clamp(90px,12vw,170px); border-top:1px solid var(--line)}
.rating__grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,31rem); gap:clamp(32px,5vw,88px); align-items:center}
.rating__head .sec-head__note{margin-top:clamp(18px,2vw,26px); max-width:25rem}
.score{position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; padding:clamp(28px,3.4vw,44px); border-radius:4px; background:linear-gradient(155deg,#191b21 0%,#0e0f13 62%,#15171c 100%); box-shadow:0 44px 90px -46px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05)}
.score::before, .score::after{content:""; position:absolute; pointer-events:none; border-radius:2px}
.score::before{inset:10px; border:1px solid rgba(205,170,98,.4)}
.score::after{inset:14px; border:1px solid rgba(205,170,98,.12)}
.score > *{position:relative; z-index:1}
.score__head{display:flex; justify-content:space-between; width:100%; gap:12px; margin:0; font-weight:700; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold)}
.score__head span:last-child{color:var(--steel-lo)}
.score__num{display:flex; align-items:baseline; gap:12px; margin:clamp(18px,2.4vw,28px) 0 14px; font-family:var(--f-display); font-weight:600; font-size:clamp(4.6rem,8.4vw,7.2rem); line-height:.9; letter-spacing:-.045em}
.score__num small{font-size:clamp(1.1rem,1.6vw,1.4rem); font-weight:500; letter-spacing:-.01em; color:var(--steel-lo)}
.stars{--s:1.25rem; position:relative; display:inline-block; width:calc(var(--s) * 5); height:var(--s); background:rgba(205,170,98,.22); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.2L14.88 8.64L22.84 9.08L16.66 14.11L18.7 21.82L12 17.5L5.3 21.82L7.34 14.11L1.16 9.08L9.12 8.64Z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.2L14.88 8.64L22.84 9.08L16.66 14.11L18.7 21.82L12 17.5L5.3 21.82L7.34 14.11L1.16 9.08L9.12 8.64Z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x}
.stars::after{content:""; position:absolute; inset:0 auto 0 0; width:calc(var(--r, 1) * 100%); background:linear-gradient(90deg,#B8924A,#F2DDA4 55%,#CDAA62)}
.score__cnt{margin:12px 0 0; font-family:var(--f-display); font-weight:500; font-size:clamp(1.1rem,1.5vw,1.3rem); letter-spacing:-.015em; color:var(--bone)}
.bars{list-style:none; display:grid; gap:9px; width:100%; max-width:22rem; margin:clamp(22px,2.8vw,32px) 0 0; padding:0}
.bars li{display:grid; grid-template-columns:1em minmax(0,1fr) 1.6em; gap:12px; align-items:center; font-size:.76rem; font-weight:600; color:var(--steel-lo); font-variant-numeric:tabular-nums}
.bars li span:last-child{text-align:right}
.bars i{position:relative; display:block; height:4px; overflow:hidden; border-radius:2px; background:rgba(236,233,227,.07)}
.bars i::after{content:""; position:absolute; inset:0 auto 0 0; width:var(--w); border-radius:2px; background:linear-gradient(90deg,#9C7A3B,#E9CF8D); transition:width 1.4s var(--ease) .25s}
.js .score.pre:not(.is-in) .bars i::after{width:0}
.score__go{margin-top:clamp(26px,3vw,36px)}
.score__note{margin:14px 0 0; font-size:.78rem; color:var(--steel-lo)}
/* rankings strip under the ticker */
.awards{position:relative; background:radial-gradient(42% 120% at 50% 0%, rgba(205,170,98,.07), rgba(205,170,98,0) 72%), var(--ink); padding-block:clamp(52px,6.5vw,92px)}
.awards .eyebrow{margin-bottom:clamp(22px,2.6vw,34px)}
/* each card spans three rows of the strip (year, title, source) via subgrid, so titles and sources line up across cards */
.ranks{--rg:clamp(26px,3vw,40px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:clamp(24px,3vw,44px); row-gap:0; margin-bottom:calc(-1 * var(--rg))}
.rank{display:grid; grid-template-columns:minmax(0,1fr) auto; grid-row:span 3; grid-template-rows:subgrid; row-gap:0; align-content:start; margin-bottom:var(--rg); padding-top:clamp(18px,2vw,24px); border-top:1px solid var(--line); text-decoration:none; color:inherit}
.rank > span:not(.rank__year){display:contents}
.rank__year{grid-column:1; grid-row:1; width:fit-content; font-family:var(--f-display); font-weight:600; font-size:clamp(1.8rem,3vw,2.6rem); line-height:1; letter-spacing:-.035em; font-variant-numeric:tabular-nums}
.rank .ico{grid-column:2; grid-row:1; align-self:start; width:22px; height:22px; color:var(--gold); transition:transform .5s var(--ease)}
.rank__title{grid-column:1 / -1; grid-row:2; display:block; margin-top:clamp(12px,1.4vw,18px); font-family:var(--f-display); font-weight:500; font-size:clamp(1.02rem,1.3vw,1.2rem); line-height:1.25; letter-spacing:-.015em; color:var(--bone); text-wrap:balance; transition:color .35s}
.rank__src{grid-column:1 / -1; grid-row:3; display:block; margin-top:8px; font-size:.86rem; line-height:1.45; color:var(--fog)}
@media (max-width:1100px){.ranks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ranks{grid-template-columns:1fr; --rg:24px}}
a.rank:hover .rank__title{color:var(--gold-hi)}
a.rank:hover .ico{transform:translate(3px,-3px)}
.reviews{position:relative; margin-top:clamp(52px,7vw,96px); overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.reviews__track{display:flex; width:max-content; animation:marquee 70s linear infinite}
.reviews:hover .reviews__track{animation-play-state:paused}
.reviews.is-js{cursor:grab; touch-action:pan-y; -webkit-user-select:none; user-select:none}
.reviews.is-js .reviews__track{animation:none; will-change:transform}
.reviews.is-drag{cursor:grabbing}
.reviews__set{display:flex; gap:clamp(14px,1.6vw,22px); padding-right:clamp(14px,1.6vw,22px)}
.review{position:relative; flex:0 0 clamp(260px,25vw,330px); display:flex; flex-direction:column; justify-content:space-between; gap:26px; margin:0; padding:clamp(24px,2.6vw,32px); border:1px solid var(--line-2); border-radius:4px; background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008))}
.review__q{position:absolute; top:10px; right:20px; font-family:Georgia,"Times New Roman",serif; font-size:4.2rem; line-height:1; color:rgba(205,170,98,.32)}
.review blockquote{margin:0; padding-right:26px; font-size:1.02rem; line-height:1.55; color:var(--bone)}
.review figcaption{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:16px; border-top:1px solid var(--line-2); font-size:.78rem; color:var(--steel-lo)}
.review figcaption b{font-weight:700; color:var(--paper-2)}
.rating__src{display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin-top:clamp(36px,4.5vw,56px)}
.rating__src > span{margin-right:8px; font-weight:700; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--steel-lo)}
@media (max-width:979px){.rating__grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.reviews:not(.is-js){overflow-x:auto; -webkit-mask-image:none; mask-image:none} .reviews__track{animation:none}}

/* gallery */
.gallery{position:relative; background:var(--ink); border-top:1px solid var(--line); --shot-w:min(74vw,360px)}
.gallery__pin{padding-block:clamp(80px,10vw,140px)}
.gallery__track{display:flex; align-items:flex-end; gap:clamp(16px,2vw,30px); overflow-x:auto; scroll-snap-type:x mandatory; padding-left:var(--gutter); padding-right:var(--gutter-r); scroll-padding-inline:var(--gutter); scrollbar-width:none; -webkit-overflow-scrolling:touch}
.gallery__track::-webkit-scrollbar{display:none}
.g-head{flex:0 0 min(84vw,430px); scroll-snap-align:start; align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; padding-right:clamp(0px,3vw,40px)}
.g-note{margin:22px 0 18px; color:var(--fog)}
.g-hint{display:inline-flex; align-items:center; gap:10px; margin:0; font-weight:700; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--steel)}
.g-hint .ico{width:22px; height:22px; color:var(--gold); stroke-width:3}
.shot{flex:0 0 var(--shot-w); width:var(--shot-w); margin:0; scroll-snap-align:start}
.shot__img{overflow:hidden; aspect-ratio:3/4; width:100%; max-width:100%; border-radius:2px; background:#121318}
.shot img{width:100%; height:100%; object-fit:cover; transform:scale(1); transition:transform 1.3s var(--ease)}
@media (hover:hover){.shot:hover img{transform:scale(1.06)}}
@media (hover:none){.shot.is-center img{transform:scale(1.05)}}
.shot figcaption{margin-top:14px; font-weight:700; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--steel)}
.gallery.is-pinned{--shot-w:calc(min(60vh,620px) * .75)}
.gallery.is-pinned .gallery__pin{position:sticky; top:0; height:100vh; display:flex; align-items:center; overflow:hidden; padding-block:calc(var(--hdr) + 20px) 40px}
.gallery.is-pinned .gallery__track{overflow:visible; scroll-snap-type:none; transform:translate3d(var(--gx,0px),0,0); will-change:transform}
.gallery.is-pinned .g-head{align-self:center}

/* call to action */
.cta{position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(50% 70% at 74% 62%, rgba(40,50,80,.55), rgba(11,12,15,0) 70%), linear-gradient(180deg,var(--ink) 0%,#0e1016 100%); border-top:1px solid var(--line)}
.cta__grid{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:end; gap:24px}
.cta__text{padding-block:clamp(90px,11vw,160px)}
.cta__title{font-weight:600; font-size:clamp(2.3rem,5.2vw,4.9rem)}
.cta__text .lead{margin:26px 0 34px}
.cta__figure{position:relative; align-self:end; justify-self:center; height:min(80vh,780px); aspect-ratio:804/1700; max-width:100%}
.cta__figure img{position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:50% 100%; -webkit-mask-image:linear-gradient(180deg,#000 76%,rgba(0,0,0,0) 99%); mask-image:linear-gradient(180deg,#000 76%,rgba(0,0,0,0) 99%)}
.cta__rosette{position:absolute; left:50%; top:40%; width:170%; aspect-ratio:1; translate:-50% -50%; opacity:.22; z-index:0}
.cta__rosette canvas{display:block; width:100%; height:100%; animation:spin 54s linear infinite reverse}
@media (max-width:979px){
  .cta__grid{grid-template-columns:1fr}
  .cta__text{padding-bottom:0}
  .cta__figure{height:auto; width:min(74vw,400px)}
  .cta__figure img{height:auto}
  .cta .ctas .btn{flex:1 1 100%}
}

/* contacts */
.contacts{background:var(--ink-2); padding-block:clamp(90px,12vw,170px); border-top:1px solid var(--line)}
.contacts__grid{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(40px,6vw,96px); align-items:center}
.cinfo{margin:38px 0 0; border-top:1px solid var(--line-2)}
.cinfo > div{display:grid; grid-template-columns:8.5rem minmax(0,1fr); gap:16px; padding:22px 0; border-bottom:1px solid var(--line-2)}
.cinfo dt{padding-top:.55em; font-weight:700; font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold)}
.cinfo dd{margin:0; min-width:0; overflow-wrap:anywhere}
.cinfo .big{display:inline-block; font-family:var(--f-display); font-weight:400; font-size:clamp(1.12rem,1.75vw,1.5rem); line-height:1.3; letter-spacing:-.015em; color:var(--bone); text-decoration:none}
.cinfo a.big:hover{color:var(--gold-hi)}
.cinfo small{display:block; margin-top:8px; font-size:.9rem; line-height:1.55; color:var(--fog); max-width:34rem}
.acts{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.chip-btn{display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid var(--line-2); border-radius:2px; font-weight:700; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--steel); transition:color .3s, border-color .3s}
.chip-btn:hover{color:var(--gold-hi); border-color:var(--gold)}
.chip-btn .ico{width:15px; height:15px; stroke-width:3}
.chip-btn--gold{color:#17130A; border-color:transparent; background:linear-gradient(105deg,#9C7A3B 0%,#E3C67F 30%,#F6E5B5 44%,#D5B26A 60%,#A27E3D 100%); background-size:220% 100%; background-position:10% 0; transition:background-position .6s var(--ease), box-shadow .4s}
.chip-btn--gold:hover{color:#17130A; border-color:transparent; background-position:90% 0; box-shadow:0 12px 26px -14px rgba(205,170,98,.8)}
.seal-map{position:relative; display:block; width:100%; max-width:470px; aspect-ratio:1; margin-inline:auto; border-radius:50%; overflow:hidden; text-decoration:none; color:var(--bone)}
.seal-map canvas{position:absolute; inset:0; width:100%; height:100%; opacity:.55; animation:spin 32s linear infinite}
.seal-map__ring{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.seal-map__ring text{font-family:var(--f-sans); font-weight:700; font-size:12.4px; letter-spacing:.22em; fill:var(--steel)}
.seal-map__ring .tick{stroke:var(--gold); stroke-width:1}
.seal-map__center{position:absolute; left:50%; top:50%; translate:-50% -50%; display:grid; justify-items:center; gap:14px; width:58%; text-align:center}
.pin{position:relative; width:46px; height:46px; color:var(--gold)}
.pin .ico{width:46px; height:46px; stroke-width:1.8}
.pin::after{content:""; position:absolute; left:50%; top:45%; width:18px; height:18px; translate:-50% -50%; border-radius:50%; border:1px solid var(--gold); animation:pulse 2.6s ease-out infinite}
@keyframes pulse{from{transform:scale(1); opacity:.9} to{transform:scale(4.2); opacity:0}}
.seal-map__city{font-family:var(--f-display); font-weight:500; font-size:clamp(1.4rem,2.6vw,2rem); line-height:1; letter-spacing:-.02em}
.seal-map__go{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-hi); border-bottom:1px solid var(--line); padding-bottom:5px; transition:gap .4s var(--ease)}
.seal-map__go .ico{width:16px; height:16px; stroke-width:3}
.seal-map:hover .seal-map__go{gap:14px}
.socials{margin-top:clamp(70px,9vw,120px)}
.social-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--line)}
.social-list a{position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:clamp(12px,2vw,24px); padding:clamp(16px,2vw,24px) 0; border-bottom:1px solid var(--line); text-decoration:none}
.social-list a::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(205,170,98,.14), rgba(205,170,98,0) 70%); transform:translateX(-101%); transition:transform .8s var(--ease)}
.s-name{font-family:var(--f-display); font-weight:500; font-size:clamp(1.3rem,3vw,2.5rem); line-height:1.1; letter-spacing:-.02em; transition:transform .7s var(--ease), color .4s}
.s-handle{font-size:.84rem; font-weight:600; color:var(--fog)}
.social-list .ico{width:30px; height:30px; color:var(--gold); stroke-width:2.2; transition:transform .6s var(--ease)}
.social-list a:hover::before{transform:none}
.social-list a:hover .s-name{transform:translateX(14px); color:var(--gold-hi)}
.social-list a:hover .ico{transform:translate(4px,-4px)}
@media (max-width:979px){.contacts__grid{grid-template-columns:1fr} .seal-map{max-width:380px}}
@media (max-width:600px){.cinfo > div{grid-template-columns:1fr; gap:6px} .s-handle{display:none} .social-list a{grid-template-columns:minmax(0,1fr) auto}}

/* footer */
.ftr{position:relative; overflow:hidden; background:var(--ink); border-top:1px solid var(--line); padding-block:clamp(60px,8vw,110px) calc(30px + env(safe-area-inset-bottom,0px))}
.ftr__brand{display:flex; justify-content:center}
.ftr__lockup{display:block; width:min(86%,480px); height:auto; overflow:visible}
.sw-beam{animation:swBeam 3.2s cubic-bezier(.37,0,.63,1) -1.6s infinite alternate}
.sw-pan{animation:swPan 3.2s cubic-bezier(.37,0,.63,1) -1.25s infinite alternate}
@keyframes swBeam{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
@keyframes swPan{from{transform:rotate(3.5deg)}to{transform:rotate(-3.5deg)}}
.ftr__grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr); gap:28px 48px; margin-top:clamp(36px,5vw,60px); font-size:.9rem; color:var(--fog)}
.ftr__grid p{margin:0}
.ftr__nav{display:grid; gap:10px; align-content:start}
.ftr__nav a{text-decoration:none; font-weight:600; color:var(--bone); width:max-content}
.ftr__nav a:hover{color:var(--gold-hi)}
.ftr__base{display:flex; justify-content:space-between; gap:16px; margin-top:40px; padding-top:20px; border-top:1px solid var(--line-2); font-weight:700; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--steel-lo)}
@media (max-width:899px){.ftr{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))} .ftr__grid{grid-template-columns:1fr}}

/* floating actions */
.dock{position:fixed; left:0; right:0; bottom:0; z-index:40; display:none; gap:10px; padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter); background:rgba(11,12,15,.88); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-top:1px solid var(--line); transform:translateY(110%); transition:transform .55s var(--ease)}
.dock .btn{flex:1 1 0; min-width:0; min-height:50px; padding:0 1em}
.dock.is-on{transform:none}
@media (max-width:899px){.dock{display:flex}}
.fab{position:fixed; right:max(28px, calc(env(safe-area-inset-right,0px) + 16px)); bottom:calc(28px + env(safe-area-inset-bottom,0px)); z-index:40; display:none; opacity:0; transform:translateY(24px) scale(.92); pointer-events:none; transition:opacity .5s, transform .6s var(--ease)}
.fab::before{content:""; position:absolute; inset:-1px; border-radius:3px; border:1px solid var(--gold); animation:fabPulse 2.8s ease-out infinite; pointer-events:none}
@keyframes fabPulse{from{opacity:.8; transform:scale(1)} to{opacity:0; transform:scale(1.25,1.6)}}
@media (min-width:900px){.fab{display:inline-flex}}
.fab.is-on{opacity:1; transform:none; pointer-events:auto}
.lock .dock, .lock .fab{opacity:0; pointer-events:none}

.toast{position:fixed; left:50%; bottom:calc(92px + env(safe-area-inset-bottom,0px)); z-index:110; max-width:calc(100% - 32px); padding:12px 18px; border:1px solid var(--line); border-radius:3px; background:#16181d; color:var(--bone); font-size:.9rem; opacity:0; transform:translate(-50%,16px); transition:opacity .35s, transform .45s var(--ease); pointer-events:none}
.toast.is-on{opacity:1; transform:translate(-50%,0)}

/* public offer */
.offer{position:fixed; inset:0; z-index:100; display:flex; justify-content:center}
.offer__backdrop{position:absolute; inset:0; background:rgba(6,7,9,.74); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; transition:opacity .45s}
.offer.is-open .offer__backdrop{opacity:1}
.offer__panel{position:relative; display:flex; flex-direction:column; width:min(1000px,100%); height:100%; opacity:0; transform:translateY(46px); transition:transform .6s var(--ease), opacity .45s}
.offer.is-open .offer__panel{opacity:1; transform:none}
.offer__bar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:calc(12px + env(safe-area-inset-top,0px)) var(--gutter-r) 12px var(--gutter); background:var(--ink); border-bottom:1px solid var(--line); color:var(--steel); font-weight:700; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase}
.offer__close{display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line-2); border-radius:3px; color:var(--bone)}
.offer__close .ico{width:20px; height:20px; stroke-width:3}
.offer__close:hover{border-color:var(--gold); color:var(--gold-hi)}
.offer__scroll{flex:1; overflow:auto; overscroll-behavior:contain; background:#EFECE6; color:var(--paper-ink); -webkit-overflow-scrolling:touch}
.doc{max-width:780px; margin:0 auto; padding:clamp(30px,5vw,68px) var(--gutter-r) calc(90px + env(safe-area-inset-bottom,0px)) var(--gutter)}
.doc__kicker{margin:0 0 14px; font-weight:700; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--paper-mute)}
.doc__title{margin:0; font-family:var(--f-display); font-weight:600; font-size:clamp(2rem,5vw,3.3rem); line-height:1; letter-spacing:-.03em}
.doc__sub{margin:14px 0 0; font-size:clamp(1.05rem,1.8vw,1.25rem); font-weight:500; color:var(--paper-mute)}
.doc__toc{display:flex; flex-wrap:wrap; gap:8px; margin:30px 0 8px; padding:18px 0; border-block:1px solid var(--line-p)}
.doc__toc a{padding:6px 10px; border:1px solid var(--line-p); border-radius:2px; font-size:.8rem; font-weight:600; text-decoration:none; color:#3a3b41}
.doc__toc a:hover{border-color:var(--paper-gold); color:var(--paper-gold)}
.doc h3{margin:2.3em 0 1em; font-weight:800; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--paper-gold); scroll-margin-top:20px}
.cl{display:grid; grid-template-columns:3.1em minmax(0,1fr); gap:6px; margin:0 0 .9em; font-size:.98rem; line-height:1.66; color:#26272c}
.cl b{padding-top:.1em; font-weight:800; font-size:.82rem; color:var(--paper-gold)}
.doc__req{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; margin-top:2.6em; padding-top:24px; border-top:1px solid var(--line-p)}
.doc__req p{margin:0 0 .35em; font-size:.95rem; color:#26272c}
.doc__req strong{font-weight:700}
.wax{width:132px; height:132px; filter:drop-shadow(0 10px 16px rgba(60,10,18,.35))}
@media (max-width:560px){.doc__req{grid-template-columns:1fr} .wax{width:104px; height:104px}}

@media (max-width:420px){.btn{white-space:normal; text-align:center; padding:0 1.1em}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important; animation-iteration-count:1!important; animation-delay:0s!important; transition-duration:.001ms!important}
  .intro{display:none}
  .ticker__track{animation:none}
  .sw-beam, .sw-pan{animation:none}
}

