/* ==== css/fonts.css ==== */
/* Local font faces extracted from neiden.framer.media */
@font-face{font-family:"'Cal Sans'";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/fdN99sWUv3gWqXxqqRBTtFs04A.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"'Cal Sans'";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/fdN99sWUv3gWqXxqqRBStFs04A.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"'Cal Sans'";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/fdN99sWUv3gWqXxqqRBctFs.woff2") format("woff2");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:"'DM Sans'";font-weight:800;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCl36TGc5pg.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"'DM Sans'";font-weight:800;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCl30TGc.woff2") format("woff2");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:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url("../assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhS2f3ZGMZpg.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthS2f3ZGMZpg.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAC5thS2f3ZGMZpg.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8gCm32RmYJpso5.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:600;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9XCm32RmYJpso5.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthS2f3ZGMZpg.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhS2f3ZGMZpg.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm32RmYJpso5.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW32RmYJpso5.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-weight:500;font-style:italic;font-display:swap;src:url("../assets/fonts/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW32RmYJpso5.woff2") format("woff2");}
@font-face{font-family:"Patung Regular";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/wANxq4ncIu35guzFWKF73Wj29k.woff2") format("woff2");}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/EOr0mi4hNtlgWNn9if640EZzXCo.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/b6Y37FthZeALduNqHicBT6FutY.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/1K3W8DizY3v4emK8Mb08YHxTbs.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/VgYFWiwsAC5OYxAycRXXvhze58.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../assets/fonts/GIryZETIX4IFypco5pYZONKhJIo.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/H89BbHkbHDzlxZzxi8uPzTsp90.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/ia3uin3hQWqDrVloC1zEtYHWw.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:700;font-style:italic;font-display:swap;src:url("../assets/fonts/2A4Xx7CngadFGlVV4xrO06OBHY.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/867QObYax8ANsfX4TGEVU9YiCM.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/DOfvtmE1UplCq161m6Hj8CSQYg.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/pKRFNWFoZl77qYCAIp84lN1h944.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:400;font-style:italic;font-display:swap;src:url("../assets/fonts/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/mkY5Sgyq51ik0AMrSBwhm9DJg.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/X5hj6qzcHUYv7h1390c8Rhm6550.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/gQhNpS3tN86g8RcVKYUUaKt2oMQ.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/cugnVhSraaRyANCaUtI5FV17wk.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/5HcVoGak8k5agFJSaKa4floXVu0.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/rZ5DdENNqIdFTIyQQiP5isO7M.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:900;font-style:normal;font-display:swap;src:url("../assets/fonts/P2Bw01CtL0b9wqygO0sSVogWbo.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/05KsVHGDmqXSBXM4yRZ65P8i0s.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/ky8ovPukK4dJ1Pxq74qGhOqCYI.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/vvNSqIj42qeQ2bvCRBIWKHscrc.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/3ZmXbBKToJifDV9gwcifVd1tEY.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/FNfhX3dt4ChuLJq2PwdlxHO7PU.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/gcnfba68tfm7qAyrWRCf9r34jg.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter";font-weight:900;font-style:italic;font-display:swap;src:url("../assets/fonts/efTfQcBJ53kM2pB1hezSZ3RDUFs.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/gazZKZuUEtvr9ULhdA4SprP0AZ0.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/pe8RoujoPxuTZhqoNzYqHX2MXA.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/teGhWnhH3bCqefKGsIsqFy3hK8.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/qQHxgTnEk6Czu1yW4xS82HQWFOk.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/MJ3N6lfN4iP5Um8rJGqLYl03tE.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/PfdOpgzFf7N2Uye9JX7xRKYTgSc.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter Display";font-weight:600;font-style:normal;font-display:swap;src:url("../assets/fonts/0SEEmmWc3vovhaai4RlRQSWRrz0.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/2uIBiALfCHVpWbHqRMZutfT7giU.woff2") format("woff2");unicode-range:U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/Zwfz6xbVe5pmcWRJRgBDHnMkOkI.woff2") format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/U9LaDDmbRhzX3sB8g8glTy5feTE.woff2") format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/tVew2LzXJ1t7QfxP1gdTIdj2o0g.woff2") format("woff2");unicode-range:U+0370-03FF;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/DF7bjCRmStYPqSb945lAlMfCCVQ.woff2") format("woff2");unicode-range:U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/bHYNJqzTyl2lqvmMiRRS6Y16Es.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Inter Display";font-weight:400;font-style:normal;font-display:swap;src:url("../assets/fonts/vebZUMjGyKkYsfcY73iwWTzLNag.woff2") format("woff2");unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;}

/* ==== css/tokens.css ==== */
/* ==========================================================================
   Neiden clone — design tokens (extracted from neiden.framer.media)
   ========================================================================== */
:root {
  /* Colors (Framer tokens) */
  --black: #000;
  --white: #fff;
  --red: #f02b42;            /* Main color */
  --red-alt: #ff3a24;
  --grey-f2: #f2f2f2;
  --grey-19: #191919;        /* rgb(25,25,25) dark sections */
  --grey-1f: #1f1f1f;
  --grey-99: #999;
  --grey-a3: #a3a3a3;
  --white-90: rgba(255,255,255,.9);
  --white-80: rgba(255,255,255,.8);
  --white-70: rgba(255,255,255,.7);
  --white-60: rgba(255,255,255,.6);
  --white-50: rgba(255,255,255,.5);
  --white-40: rgba(255,255,255,.4);
  --white-30: rgba(255,255,255,.3);
  --white-20: rgba(255,255,255,.2);
  --white-10: rgba(255,255,255,.1);
  --white-05: rgba(255,255,255,.05);
  --black-90: rgba(0,0,0,.9);
  --black-70: rgba(0,0,0,.7);
  --black-60: rgba(0,0,0,.6);
  --black-50: rgba(0,0,0,.5);
  --black-40: rgba(0,0,0,.4);
  --black-30: rgba(0,0,0,.3);
  --black-20: rgba(0,0,0,.2);
  --black-10: rgba(0,0,0,.1);   /* grid lines on light */
  --black-05: rgba(0,0,0,.05);  /* light section background */
  --line-light: rgba(0,0,0,.1);
  --line-dark: rgba(255,255,255,.1);

  /* Type */
  --font-sans: "DM Sans", "DM Sans Placeholder", sans-serif;
  --font-display: "Cal Sans", "Cal Sans Placeholder", sans-serif;   /* big ñeiden wordmark */
  --font-script: "Patung Regular", "Patung Regular Placeholder", sans-serif; /* handwritten */
  --font-inter: "Inter", "Inter Placeholder", sans-serif;

  /* Layout (desktop 1200–1619: 40px side padding, 3 columns) */
  --page-pad: 40px;
  --container-max: 1550px;
  --header-h: 44px;

  /* Motion */
  --ease-framer: cubic-bezier(.74,.03,.44,.95);
  --ease-out-expo: cubic-bezier(.16,1,.3,1);
  --ease-text: cubic-bezier(.74,.01,.24,.98);
}
@media (min-width:1620px){ :root{ --page-pad:50px; } }
@media (max-width:1199.98px){ :root{ --page-pad:40px; } }
@media (max-width:809.98px){ :root{ --page-pad:20px; } }

/* ==== css/base.css ==== */
/* ==========================================================================
   Base / reset / typography presets
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
html,body{ margin:0; padding:0; }
body{
  background:#fff; color:var(--black);
  font-family:var(--font-sans); font-size:14px; line-height:1.4;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on; /* ss07 only on the 12px label presets (measured on the live site) */
  overflow-x:hidden;
}
img,video,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; margin:0; padding:0; }
p,h1,h2,h3,h4,h5,h6{ margin:0; font-weight:inherit; font-size:inherit; }
button,input,textarea{ font:inherit; color:inherit; background:none; border:0; }
::selection{ background:var(--red); color:#fff; }

/* ---- Page grid: 3 columns with 1px hairlines (light + dark variants) ---- */
.container{ position:relative; width:100%; max-width:var(--container-max); margin:0 auto; padding:0 var(--page-pad); }
@media (min-width:1200px) and (max-width:1619.98px){ .container{ max-width:none; } }
.cols3{ display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); }
.cols2{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); }
.lines-light{ --line:var(--line-light); }
.lines-dark{ --line:var(--line-dark); }

/* ---- Typography presets (measured on the live site at 1440px) ---- */
.t-label{ font-size:12px; font-weight:700; line-height:1; letter-spacing:-.02em; text-transform:uppercase; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.t-label-600{ font-size:12px; font-weight:600; line-height:1; letter-spacing:-.02em; text-transform:uppercase; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.t-label-500{ font-size:12px; font-weight:500; line-height:1; letter-spacing:-.02em; text-transform:uppercase; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.t-nav{ font-size:14px; font-weight:600; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.t-nav-500{ font-size:14px; font-weight:500; line-height:1; letter-spacing:-.04em; text-transform:uppercase; }
.t-body-14{ font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; }
.t-body-14-600{ font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; }
.t-body-16{ font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; }
.t-body-16-600{ font-size:16px; font-weight:600; line-height:1.5; letter-spacing:-.04em; }
.t-body-16-700{ font-size:16px; font-weight:700; line-height:1.3; letter-spacing:-.05em; }
.t-h-20{ font-size:20px; font-weight:700; line-height:1.1; letter-spacing:-.07em; }
.t-h-24{ font-size:24px; font-weight:600; line-height:1; letter-spacing:-.06em; }
.t-h-30{ font-size:30px; font-weight:700; line-height:1.1; letter-spacing:-.07em; }
.t-h-45{ font-size:45px; font-weight:700; line-height:1.1; letter-spacing:-.05em; }
.t-h-50{ font-size:50px; font-weight:700; line-height:1; letter-spacing:0; }
.t-h-50-600{ font-size:50px; font-weight:600; line-height:1; letter-spacing:-.05em; }
.t-h-60{ font-size:60px; font-weight:700; line-height:1; letter-spacing:0; }
.t-h-70{ font-size:70px; font-weight:600; line-height:.9; letter-spacing:-.06em; }
.t-h-70-700{ font-size:70px; font-weight:700; line-height:1; letter-spacing:0; }
.t-h-100{ font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; }
.t-h-130{ font-size:130px; font-weight:700; line-height:1; letter-spacing:-.08em; }
.t-h-200{ font-size:200px; font-weight:600; line-height:.8; letter-spacing:-.08em; }
.t-script-44{ font-family:var(--font-script); font-size:44px; font-weight:400; line-height:1.4; letter-spacing:-.02em; }
.t-script-80{ font-family:var(--font-script); font-size:80px; font-weight:400; line-height:.9; }
.t-script-100{ font-family:var(--font-script); font-size:100px; font-weight:400; line-height:.9; }

/* ---- Utilities ---- */
.upper{ text-transform:uppercase; }
.muted{ color:var(--black-40); }
.muted-w{ color:var(--white-30); }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
[data-reveal]{ will-change:transform,opacity; }
.split-word{ white-space:nowrap; display:inline-block; }
.split-char{ display:inline-block; will-change:transform,opacity,filter; }

/* safety: nothing may widen the layout viewport on phones (clip keeps position:sticky working) */
html, body{ overflow-x:clip; }

/* ==== css/layout.css ==== */
/* Global layout pieces shared by several sections (fixed elements, page wrapper) */
#page{ position:relative; width:100%; min-height:100vh; }

/* WhatsApp "Contact us" links (header menu, contact form, contacts page): icon inherits the text colour and size */
.sec-wa{ display:inline-flex !important; align-items:center; gap:.28em; white-space:nowrap; }
.sec-wa__icon{ display:block; flex:none; width:.82em; height:.82em; }
.sec-contact-details__phone.sec-wa .sec-wa__icon,.sec-contact-form__phone.sec-wa .sec-wa__icon{ width:24px; height:24px; }

/* "coming soon" toast for social links that have no account yet */
#coming-soon{ position:fixed; z-index:10000; transform:translate(-50%,-100%) translateY(6px); padding:8px 12px; border-radius:999px; background:var(--black); color:#fff;
  font:600 12px/1 'DM Sans',sans-serif; letter-spacing:-.02em; text-transform:uppercase; white-space:nowrap; pointer-events:none; opacity:0;
  transition:opacity .25s ease, transform .25s ease; }
#coming-soon.is-on{ opacity:1; transform:translate(-50%,-100%) translateY(0); }

/* ==== css/sections/00-preloader.css ==== */
/* Preloader: two black half panels, bottom logo, handwritten line. Timeline in js/sections/00-preloader.js */
.preloader{ position:fixed; inset:0; width:100vw; height:100dvh; z-index:99999; pointer-events:none; overflow:clip; background:transparent; }
.preloader__panel{ position:absolute; width:50%; height:100%; background:var(--black); will-change:transform; backface-visibility:hidden; }
.preloader__panel--l{ left:0; top:0; transform-origin:50% 0; }
.preloader__panel--r{ right:0; bottom:0; transform-origin:50% 100%; }
/* centring lives on the wrapper so the exit scale (1→2) grows in place instead of losing the translate(-50%,-50%) */
.preloader__center{ position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.preloader__text{ position:relative; margin:0; transform-origin:50% 50%;
  font-family:var(--font-script); font-size:40px; line-height:40px; font-weight:400; color:var(--white); white-space:pre; will-change:transform,filter,opacity; opacity:0; /* hidden until the letters are split (no flash before JS) */ }
.preloader__text .split-word{ white-space:nowrap; }
.preloader__logo{ position:absolute; left:50%; bottom:50px; transform:translateX(-50%); z-index:1; display:flex; align-items:center; gap:20px; opacity:0; height:24px; will-change:opacity; }
.preloader__mark{ width:46px; height:21px; flex:none; }
.preloader__name{ display:block; font-family:var(--font-sans); font-size:24px; line-height:24px; font-weight:600; letter-spacing:-.06em; color:var(--white); white-space:pre; }
.preloader__reg{ color:var(--white-20); }
html.static .preloader, html.preloader-done .preloader{ display:none; }

/* ==== css/sections/01-header.css ==== */
/* ==========================================================================
   01 — Global header layer (neiden.framer.media)
   navbar (44px, absolute, scrolls away) · fixed overlay menu · top-right pill ·
   bottom-right scroll-to-top pill · fixed "GET NEIDEN® FROM $99" button
   ========================================================================== */
.sec-header{ position:absolute; top:0; left:0; width:100%; height:44px; z-index:auto; font-family:var(--font-sans); color:var(--black);
  /* easing curves sampled per-frame on the live site (Framer springs/tweens replicated with linear()) */
  --hdr-ease-spring:linear(0, 0.02 4%, 0.165 8.9%, 0.34 14%, 0.52 19.7%, 0.66 24.8%, 0.76 30.2%, 0.84 35.8%, 0.895 41.5%, 0.93 46.3%, 0.95 51.9%, 0.97 57.3%, 0.98 62.4%, 0.988 67.9%, 0.993 73.4%, 0.998 84%, 1); /* spring dur .62 bounce 0: burger morph/hover, social scale, plus rotate */
  --hdr-ease-swap:linear(0, 0.117 6%, 0.44 16%, 0.70 25%, 0.875 34%, 0.967 43%, 1.008 52%, 1.017 62%, 1.017 71%, 1.008 80%, 1.004 90%, 1); /* text swap on hover (.36s, 1.7% overshoot) */
  --hdr-ease-mask:linear(0, 0.003 11.6%, 0.009 16.8%, 0.02 22.9%, 0.034 28.8%, 0.056 34.8%, 0.086 40.7%, 0.131 46.6%, 0.195 52.7%, 0.30 58.6%, 0.548 64.5%, 0.822 70.4%, 0.923 76.4%, 0.969 82.5%, 0.989 88.2%, 0.999 94.3%, 1); /* mask dim/blur (.55s, slow start then snap) */
} /* no stacking context: the fixed pills must blend (mix-blend-mode) with the page */

/* OpenType features: base.css turns "ss07" on globally, but on the live site only the 12px label presets use ss07 —
   digits in the phone / counter / copyright are rendered without it (measured: +1 (312) 555-2468 = 233.8px, not 237px) */
.sec-header{ font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on; }
.sec-header__swap,.sec-header__plabel,.sec-header__btn-text,.sec-header__buy-text{ font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }

/* ---------- (1) navbar ---------- */
.sec-header__bar{ position:relative; width:100%; height:44px; background:rgba(255,255,255,.6); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); overflow:hidden; z-index:10; }
.sec-header__wrap{ position:relative; width:100%; height:44px; overflow:hidden; }

/* hairline columns */
.sec-header__gridwrap{ position:absolute; inset:0; display:flex; justify-content:center; align-items:center; padding:0 var(--page-pad); }
.sec-header__grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); width:100%; max-width:var(--container-max); height:100%; overflow:clip; }
.sec-header__col{ border-right:1px solid var(--line-light); }
.sec-header__col--first{ border-left:1px solid var(--line-light); }

/* logo + burger row */
.sec-header__nav{ position:relative; z-index:4; display:flex; justify-content:space-between; align-items:center; width:100%; height:44px; padding:10px var(--page-pad); pointer-events:none; }
.sec-header__logo,.sec-header__burgerbox{ pointer-events:auto; }
.sec-header__logo{ display:flex; align-items:center; gap:10px; height:24px; color:var(--black); }
.sec-header__mark{ position:relative; z-index:1; display:flex; align-items:center; gap:10px; height:24px; }
.sec-header__mark--red{ color:var(--red); }
.sec-header__mark-svg{ display:block; width:46px; height:21px; flex:none; }
.sec-header__wordmark{ position:relative; display:flex; align-items:center; justify-content:flex-start; min-width:82px; height:24px; overflow:hidden; white-space:pre; color:var(--black); }
.sec-header__wordmark--white{ color:#fff; }
.sec-header__tag{ display:flex; align-items:center; justify-content:center; padding:3px 10px; background:var(--red); color:#fff; font-size:13px; line-height:1.2; font-weight:500; letter-spacing:-.04em; white-space:pre; }

.sec-header__burgerbox{ display:flex; align-items:center; justify-content:center; width:26px; height:24px; }
.sec-header__burger{ position:relative; display:block; width:26px; height:22px; padding:0; cursor:pointer; }
.sec-header__burger-icon{ position:relative; display:block; width:26px; height:22px; }
.sec-header__burger-icon i{ position:absolute; display:block; height:2px; background:var(--black); border-radius:0;
  transition:width .62s var(--hdr-ease-spring), transform .62s var(--hdr-ease-spring), opacity .62s var(--hdr-ease-spring), top .62s var(--hdr-ease-spring), bottom .62s var(--hdr-ease-spring), left .62s var(--hdr-ease-spring), right .62s var(--hdr-ease-spring); } /* live: one .62s spring for hover widen + X morph */
.sec-header__burger-icon i:nth-child(1){ top:6px; left:0; width:13px; }
.sec-header__burger-icon i:nth-child(2){ top:10px; left:0; width:26px; }
.sec-header__burger-icon i:nth-child(3){ bottom:6px; right:0; width:13px; }
.sec-header__burger:hover .sec-header__burger-icon i:nth-child(1),
.sec-header__burger:hover .sec-header__burger-icon i:nth-child(3){ width:26px; }
.sec-header.is-open .sec-header__burger-icon i:nth-child(1){ width:20px; top:10px; left:3px; transform:rotate(45deg); }
.sec-header.is-open .sec-header__burger-icon i:nth-child(2){ width:21px; left:2px; opacity:0; }
.sec-header.is-open .sec-header__burger-icon i:nth-child(3){ width:20px; bottom:10px; right:3px; transform:rotate(-45deg); }

/* centered menu: 3-col grid, list spans columns 2–3 */
.sec-header__menuwrap{ position:absolute; top:11px; left:50%; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center; width:100%; height:22px; padding:0 var(--page-pad); transform:translateX(-50%); }
.sec-header__menuspacer{ width:100%; height:100%; }
.sec-header__menu{ grid-column:span 2; display:flex; align-items:center; justify-content:flex-start; gap:70px; width:100%; max-width:var(--container-max); height:22px; }
.sec-header__menu li{ display:flex; align-items:center; justify-content:center; height:22px; }
.sec-header__item{ display:flex; align-items:center; gap:5px; height:22px; color:var(--black); cursor:pointer; }
.sec-header__counter{ display:block; align-self:flex-start; font-size:12px; line-height:1.1; font-weight:600; letter-spacing:-.06em; color:var(--red); white-space:pre; }

/* text swap (hover slides both copies down) */
.sec-header__swap{ position:relative; display:block; height:12px; overflow:clip; white-space:pre; }
.sec-header__swap-a,.sec-header__swap-b{ display:block; transition:transform .36s var(--hdr-ease-swap); }
.sec-header__swap-a{ position:relative; }
.sec-header__swap-b{ position:absolute; left:0; top:-12px; }
.sec-header__item:hover .sec-header__swap-a,.sec-header__item:hover .sec-header__swap-b{ transform:translateY(12px); }
.sec-header__swap--14 .sec-header__swap-b{ top:-14px; }
.sec-header__plink:hover .sec-header__swap-a,.sec-header__plink:hover .sec-header__swap-b{ transform:translateY(14px); }
.sec-header__swap--email{ height:30px; }
.sec-header__swap--email .sec-header__swap-a,.sec-header__swap--email .sec-header__swap-b{ transition:transform .36s var(--hdr-ease-swap), opacity .36s var(--hdr-ease-swap); }
.sec-header__swap--email .sec-header__swap-b{ top:-30px; opacity:0; }
.sec-header__email:hover .sec-header__swap-a{ transform:translateY(30px); opacity:0; }
.sec-header__email:hover .sec-header__swap-b{ transform:translateY(30px); opacity:1; }

/* ---------- (4) fixed overlay layer ---------- */
.sec-header__layer{ position:fixed; top:0; left:0; z-index:9; display:flex; align-items:center; justify-content:center; width:100%; height:100vh; padding-top:44px; pointer-events:none; }
.sec-header__mask{ position:absolute; left:0; right:0; top:44px; bottom:0; background:rgba(0,0,0,0); -webkit-backdrop-filter:blur(0px); backdrop-filter:blur(0px); cursor:pointer; pointer-events:none;
  transition:background-color .52s var(--hdr-ease-mask), -webkit-backdrop-filter .52s var(--hdr-ease-mask), backdrop-filter .52s var(--hdr-ease-mask); } /* closing: live ~.52s */
.sec-header.is-open .sec-header__mask{ background:rgba(0,0,0,.3); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); pointer-events:auto; transition-duration:.55s; } /* opening: live ~.55s */
.sec-header__panelbox{ position:relative; z-index:3; width:580px; height:560px; }
.sec-header__panel{ width:100%; height:100%; opacity:0; transform:scale(0) rotate(-45deg); transform-origin:50% 50%; pointer-events:none; will-change:transform; }
.sec-header.is-open .sec-header__panel{ pointer-events:auto; }
.sec-header__fullscreen{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; width:100%; max-width:620px; height:100%; padding:40px; background:var(--black); color:#fff; overflow:hidden; }
.sec-header__pcontent{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:40px; flex:1 0 0; width:100%; height:1px; }
.sec-header__ptop{ display:flex; flex-direction:column; align-items:flex-start; gap:50px; flex:none; width:100%; }
.sec-header__plogo{ display:flex; align-items:center; gap:20px; width:100%; height:24px; color:#fff; }
.sec-header__pcols{ display:flex; flex-wrap:wrap; align-items:flex-start; width:500px; }
.sec-header__pnav{ display:flex; flex-direction:column; align-items:flex-start; gap:25px; flex:1 0 0; width:1px; }
.sec-header__plabel{ display:block; color:var(--white-30); white-space:pre; }
.sec-header__plinks{ display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; }
.sec-header__prow{ display:flex; align-items:center; gap:10px; width:100%; padding:5px 0; }
.sec-header__plink{ display:flex; align-items:flex-start; gap:5px; color:#fff; cursor:pointer; }
.sec-header__plink .sec-header__counter{ align-self:auto; }
.sec-header__pcontacts{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; flex:1 0 0; width:1px; }
.sec-header__pwide{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-header__pdetails{ display:flex; flex-direction:column; align-items:flex-start; width:100%; }
.sec-header__phone{ display:block; height:45px; font-size:30px; line-height:1.5; font-weight:500; letter-spacing:-.04em; color:#fff; white-space:pre; }
.sec-header__email{ display:block; font-size:20px; line-height:1.5; font-weight:500; letter-spacing:-.04em; color:#fff; white-space:pre; }
.sec-header__address{ width:100%; color:var(--white-30); white-space:pre-wrap; }
.sec-header__social{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:20px; height:21px; border-radius:46px; }
.sec-header__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; color:#fff; }
.sec-header__soc svg{ display:block; width:21px; height:21px; transition:transform .62s var(--hdr-ease-spring), color .3s ease; }
.sec-header__soc:hover svg{ transform:scale(1.4); }
.sec-header__soc--ig:hover svg{ color:rgb(235,23,94); }
.sec-header__soc--dr:hover svg{ color:rgb(252,98,204); }

.sec-header__pbottom{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; flex:none; width:100%; overflow:hidden; }
.sec-header__btnbox{ position:relative; display:flex; align-items:center; justify-content:space-between; width:100%; height:50px; overflow:clip; background:transparent; transition:background-color .4s ease; }
.sec-header__btnbox:hover{ background:var(--red); }
.sec-header__btn{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; flex:none; width:100%; height:60px; background:#fff; color:var(--black); cursor:pointer; }
.sec-header__btn-text{ position:relative; z-index:1; display:block; height:12px; overflow:clip; white-space:pre; color:var(--black); pointer-events:none; }
.sec-header__plus{ position:absolute; top:20px; right:20px; z-index:1; display:block; width:20px; height:20px; color:var(--black); pointer-events:none; transition:transform .62s var(--hdr-ease-spring); }
.sec-header__plus svg{ display:block; width:20px; height:20px; }
.sec-header__btn:hover .sec-header__plus{ transform:rotate(-180deg); } /* live rotates counter-clockwise */

.sec-header__legal{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; }
.sec-header__terms{ display:flex; align-items:center; gap:25px; height:17px; width:100%; }
.sec-header__terms a{ display:block; color:var(--white-30); white-space:pre; transition:color .4s cubic-bezier(.44,0,.56,1); }
.sec-header__terms a:hover{ color:var(--red); }
.sec-header__divider{ display:block; width:1px; height:17px; background:var(--white-20); }
.sec-header__copy{ display:flex; align-items:flex-start; gap:10px; height:24px; overflow:hidden; }
.sec-header__copytext{ display:flex; align-items:center; gap:5px; height:21px; font-size:14px; line-height:1.5; font-weight:400; letter-spacing:-.04em; color:#fff; white-space:pre; }
.sec-header__copytext strong{ font-weight:700; }
.sec-header__dim{ color:var(--white-30); }
.sec-header__framer{ display:flex; align-items:center; gap:6px; height:24px; overflow:hidden; font-size:14px; line-height:1.5; font-weight:700; letter-spacing:-.04em; color:#fff; white-space:pre; }
.sec-header__framer strong{ font-weight:700; }
.sec-header__framer-ico{ display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:6px; background:var(--black); color:#fff; mix-blend-mode:difference; }
.sec-header__framer-ico svg{ display:block; width:8px; height:12px; }

/* letter animations (hover swap + entrance) */
.sec-header__ltrs{ display:block; white-space:pre; }
.sec-header__ltrs--b{ position:absolute; left:0; top:0; }
.sec-header__wrd{ display:inline-block; white-space:nowrap; }
/* measured on the live site: on hover the old letters vanish instantly and the new ones drop in from -15px one by one
   (~30ms stagger, ~.12s ease-out each); on unhover the letters rise from +15px with the same ripple */
.sec-header__ltr{ display:inline-block; }
.sec-header__ltrs--a .sec-header__ltr{ transition:transform .12s ease-out calc(var(--i,0) * 30ms); }
.sec-header__ltrs--b .sec-header__ltr{ transform:translateY(-15px); } /* no transition: snaps back instantly on unhover */
.sec-header__ltr.is-hidden{ transform:translateY(15px); transition:none; }
.sec-header__btn:hover .sec-header__ltrs--a .sec-header__ltr,
.sec-header__buy-inner:hover .sec-header__ltrs--a .sec-header__ltr{ transform:translateY(15px); transition:none; }
.sec-header__btn:hover .sec-header__ltrs--b .sec-header__ltr,
.sec-header__buy-inner:hover .sec-header__ltrs--b .sec-header__ltr{ transform:none; transition:transform .12s ease-out calc(var(--i,0) * 30ms); }

/* ---------- (2) pills: fixed top-right burger + bottom-right scroll-to-top ---------- */
.sec-header__pill{ position:fixed; width:40px; height:40px; mix-blend-mode:difference; pointer-events:none; }
.sec-header__pill--top{ top:0; right:0; z-index:10; }
.sec-header__pill--bottom{ bottom:0; right:0; z-index:4; }
.sec-header__pill-inner{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border-radius:40px; opacity:0; transform:translateY(-50px); mix-blend-mode:difference; pointer-events:none; cursor:pointer; transition:opacity .4s ease, transform .4s ease; }
.sec-header__pill--bottom .sec-header__pill-inner{ transform:translateY(50px); }
.sec-header__pill.is-shown .sec-header__pill-inner{ opacity:1; transform:none; pointer-events:auto; }
.sec-header__pill-bg{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; background:#fff; overflow:clip; mix-blend-mode:difference; } /* live: radius sits on the transparent wrapper only → visually square */
.sec-header__burger--pill{ display:flex; align-items:center; justify-content:center; width:40px; height:22px; }
.sec-header__totop .sec-header__pill-bg{ display:block; }
.sec-header__arrow{ position:absolute; left:11px; display:block; width:18px; height:18px; color:var(--black); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.sec-header__arrow svg{ display:block; width:18px; height:18px; }
.sec-header__arrow--a{ top:11px; }
.sec-header__arrow--b{ top:41px; }
.sec-header__totop:hover .sec-header__arrow{ transform:translateY(-30px); }

/* ---------- (3) fixed "GET NEIDEN® FROM $99" ---------- */
.sec-header__buy{ position:fixed; right:45px; bottom:0; z-index:8; /* below the overlay layer (z 9): on the live site the mask dims/blurs this button while the menu is open */ display:flex; align-items:center; justify-content:center; height:40px; cursor:pointer; }
.sec-header__buy-inner{ display:flex; align-items:center; justify-content:flex-start; height:40px; overflow:clip; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); color:#fff; }
.sec-header__buy-box{ display:flex; align-items:center; justify-content:center; gap:30px; flex:none; height:60px; padding:0 30px; background:var(--black); }
.sec-header__buy-text{ position:relative; z-index:1; display:block; height:12px; overflow:clip; white-space:pre; color:#fff; pointer-events:none; }
.sec-header__buy-from{ color:var(--white-40); }

/* ---------- responsive (secondary) ---------- */
@media (max-width:1199.98px){
  .sec-header__menuwrap{ display:none; }
  .sec-header__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-header__col:nth-child(3){ display:none; }
}
@media (max-width:809.98px){
  .sec-header__grid{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-header__col:nth-child(2){ display:none; }
  .sec-header__pill--top,.sec-header__pill--bottom{ right:20px; }
  .sec-header__buy{ right:65px; }
  .sec-header__layer{ padding-top:70px; align-items:flex-start; }
  .sec-header__mask{ top:0; }
  .sec-header__panelbox{ width:min(360px,calc(100% - 30px)); height:auto; }
  .sec-header__panel{ height:auto; }
  .sec-header__fullscreen{ padding:25px; }
  .sec-header__pcontent{ flex:none; height:auto; }
  .sec-header__pcols{ width:100%; }
  .sec-header__pnav,.sec-header__pcontacts{ flex:none; width:100%; }
  .sec-header__pcontacts{ margin-top:30px; }
  .sec-header__tag{ display:none; }
}

/* language switch (EN ⇄ FR): last item of the top menu, set apart by a hairline */
.sec-header__menu li.sec-header__langli{ position:relative; }
.sec-header__menu li.sec-header__langli::before{ content:""; position:absolute; left:-35px; top:5px; bottom:5px; width:1px; background:currentColor; opacity:.2; }

/* ==== css/sections/01y-cursor.css ==== */
/* Custom cursor measured on the live site: 40px 1px-white ring + 12px white dot, mix-blend-mode difference, z 9999; dot grows to 32px over links/buttons.
   The wrapper must NOT create a stacking context (no position:fixed / z-index / opacity on it), otherwise the blend is isolated from the page and the cursor renders plain white on light pages. */
.cursor{ position:static; pointer-events:none; }
.cursor__ring,.cursor__dot{ position:fixed; left:0; top:0; z-index:9999; display:block; border-radius:50%; mix-blend-mode:difference; will-change:transform; opacity:0; pointer-events:none; }
.cursor.is-on .cursor__ring,.cursor.is-on .cursor__dot{ opacity:1; }
.cursor__ring{ width:40px; height:40px; margin:-20px 0 0 -20px; border:1px solid #fff; transition:width .3s ease,height .3s ease,margin .3s ease,opacity .3s ease; }
.cursor__dot{ width:12px; height:12px; margin:-6px 0 0 -6px; background:#fff; transition:width .3s ease,height .3s ease,margin .3s ease,opacity .3s ease; }
.cursor.is-hover .cursor__dot{ width:32px; height:32px; margin:-16px 0 0 -16px; }
@media (hover:none), (pointer:coarse){ .cursor{ display:none; } }
html.static .cursor{ display:none; }

/* ==== css/sections/01z-fixed-blur.css ==== */
/* Progressive blur band at the bottom of the viewport (live site: 8 stacked backdrop-filter layers, 120px, z-index 3) */
.fixed-blur{ position:fixed; left:0; bottom:0; width:100%; height:120px; z-index:3; pointer-events:none; }
.fixed-blur i{ position:absolute; inset:0; display:block; }
.fixed-blur i:nth-child(1){ backdrop-filter:blur(.3px) saturate(1.2); -webkit-backdrop-filter:blur(.3px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 0%,#000 8.75%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 0%,#000 8.75%,#000 100%); }
.fixed-blur i:nth-child(2){ backdrop-filter:blur(1.3px) saturate(1.2); -webkit-backdrop-filter:blur(1.3px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 8.75%,#000 17.5%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 8.75%,#000 17.5%,#000 100%); }
.fixed-blur i:nth-child(3){ backdrop-filter:blur(2.8px) saturate(1.2); -webkit-backdrop-filter:blur(2.8px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 17.5%,#000 26.25%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 17.5%,#000 26.25%,#000 100%); }
.fixed-blur i:nth-child(4){ backdrop-filter:blur(5px) saturate(1.2); -webkit-backdrop-filter:blur(5px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 26.25%,#000 35%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 26.25%,#000 35%,#000 100%); }
.fixed-blur i:nth-child(5){ backdrop-filter:blur(7.8px) saturate(1.2); -webkit-backdrop-filter:blur(7.8px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 35%,#000 43.75%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 35%,#000 43.75%,#000 100%); }
.fixed-blur i:nth-child(6){ backdrop-filter:blur(11.3px) saturate(1.2); -webkit-backdrop-filter:blur(11.3px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 43.75%,#000 52.5%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 43.75%,#000 52.5%,#000 100%); }
.fixed-blur i:nth-child(7){ backdrop-filter:blur(15.3px) saturate(1.2); -webkit-backdrop-filter:blur(15.3px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 52.5%,#000 61.25%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 52.5%,#000 61.25%,#000 100%); }
.fixed-blur i:nth-child(8){ backdrop-filter:blur(20px) saturate(1.2); -webkit-backdrop-filter:blur(20px) saturate(1.2); -webkit-mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 61.25%,#000 70%,#000 100%); mask-image:linear-gradient(rgba(0,0,0,0) 0%,rgba(0,0,0,0) 61.25%,#000 70%,#000 100%); }
html.static .fixed-blur{ display:none; }

/* touch screens: 3 backdrop-filter layers instead of 8 (each one re-blurs the band on every scrolled frame) */
@media (hover:none), (pointer:coarse){
  .fixed-blur i:nth-child(1), .fixed-blur i:nth-child(2), .fixed-blur i:nth-child(4), .fixed-blur i:nth-child(5), .fixed-blur i:nth-child(7){ display:none; }
}

/* ==== css/sections/02-hero.css ==== */
/* ===== Hero (0 → 900px) — measured on neiden.framer.media at 1440×900 ===== */
.sec-hero{ position:relative; z-index:3; width:100%; height:100vh; min-height:900px; padding-top:var(--header-h); overflow:hidden; background:var(--white-90); color:var(--white); display:flex; flex-direction:column; align-items:center; justify-content:center; }
@media (max-width:1439px){ .sec-hero{ min-height:0; } }
.sec-hero__bg{ position:absolute; left:0; top:var(--header-h); width:100%; height:calc(100% - var(--header-h)); overflow:clip; z-index:0; }
.sec-hero__video{ position:absolute; left:0; bottom:0; width:100%; height:110%; object-fit:cover; object-position:50% 50%; background:transparent; }
.sec-hero__noise{ position:absolute; left:0; top:var(--header-h); width:100%; height:calc(100% - var(--header-h)); overflow:hidden; z-index:1; pointer-events:none; }
.sec-hero__noise-tile{ position:absolute; inset:-50%; width:200%; height:200%; background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat; background-size:256px 256px; opacity:.15; mix-blend-mode:overlay; transform:scale(1.2); will-change:transform; backface-visibility:hidden; }
/* 3 hairline columns (40px inset), blended with difference like the site */
.sec-hero__lines{ position:absolute; left:0; top:var(--header-h); width:100%; height:calc(100% - var(--header-h)); padding:0 var(--page-pad); display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); mix-blend-mode:difference; z-index:0; pointer-events:none; }
.sec-hero__lines i{ display:block; border-right:1px solid rgba(255,255,255,.15); }
.sec-hero__lines i:first-child{ border-left:1px solid rgba(255,255,255,.15); }

/* corner labels */
.sec-hero__years{ position:absolute; top:calc(var(--header-h) + 40px); left:var(--page-pad); z-index:2; color:var(--white); }
.sec-hero__slots{ position:absolute; top:calc(var(--header-h) + 40px); right:var(--page-pad); z-index:2; display:flex; align-items:center; gap:10px; height:12px; color:var(--white); white-space:pre; }
.sec-hero__slots-txt + .sec-hero__slots-txt{ margin-left:-7px; }
.sec-hero__bars{ display:flex; gap:3px; height:12px; }
.sec-hero__bars i{ display:block; width:3px; height:12px; background:var(--white-50); }
.sec-hero__bars i.is-red{ background:var(--red); }
.sec-hero__bars i.is-blink{ transition:background-color .5s ease; }
.sec-hero__slots-count{ display:flex; gap:4px; }
.muted-30{ color:var(--white-30); } .muted-50{ color:var(--white-50); }

/* stage = "Glitch logo" wrapper (scales 1.4 → 1 on entrance) */
.sec-hero__stage{ position:relative; z-index:1; width:100%; padding:0 var(--page-pad); mix-blend-mode:difference; will-change:transform; transform-origin:50% 50%; }
.sec-hero__services{ width:100%; padding:30px 0; }
.sec-hero__service{ color:var(--white); white-space:pre-wrap; will-change:transform,opacity; }
.sec-hero__mark{ position:relative; width:100%; }
.sec-hero__mark::before,.sec-hero__mark::after{ content:''; position:absolute; left:0; right:0; height:1px; background:var(--white-10); pointer-events:none; }
.sec-hero__mark::before{ top:0; } .sec-hero__mark::after{ bottom:0; }
.sec-hero__dot{ position:absolute; width:4px; height:4px; background:var(--white); z-index:1; }
.sec-hero__dot--tl{ top:-2px; left:-2px; } .sec-hero__dot--tr{ top:-2px; right:-2px; } .sec-hero__dot--bl{ bottom:-2px; left:-2px; } .sec-hero__dot--br{ bottom:-2px; right:-2px; }
.sec-hero__word{ position:relative; width:100%; z-index:1; will-change:opacity; }
.sec-hero__word-svg{ display:block; width:100%; height:auto; overflow:visible; }
.sec-hero__word-glitch{ position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; will-change:transform,clip-path; }
.sec-hero__word{ cursor:default; }
.sec-hero__word-text{ margin:0; font-family:var(--font-display); font-size:299.4px; line-height:.8em; letter-spacing:-.05em; font-weight:400; color:var(--white); white-space:pre; text-align:left; }
.sec-hero__script{ position:absolute; left:0; right:0; bottom:0; z-index:2; width:100%; pointer-events:none; }
.sec-hero__script-text{ grid-column:span 2; margin:0; font-family:var(--font-script); font-size:100px; line-height:90px; font-weight:400; color:var(--red); white-space:pre; }
.sec-hero__desc{ width:100%; padding:30px 0; }
.sec-hero__desc-text{ grid-column:span 2; margin:0; font-size:17px; line-height:1.4; font-weight:500; letter-spacing:-.04em; color:var(--white); will-change:transform,opacity; }
.sec-hero__spacer{ display:block; }

/* button row */
.sec-hero__row{ position:relative; z-index:1; width:100%; padding:0 var(--page-pad) 30px; }
.sec-hero__btnwrap{ height:60px; will-change:transform; }
.btn-dark{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:60px; background:var(--black); color:var(--white); overflow:hidden; cursor:pointer; transition:background-color .45s var(--ease-framer); }
.btn-dark:hover{ background:var(--red); }
.btn-dark__label{ position:relative; display:block; font-size:12px; font-weight:700; line-height:1; letter-spacing:-.02em; text-transform:uppercase; white-space:pre; }
.btn-dark__plus{ position:absolute; top:20px; right:20px; width:20px; height:20px; background:var(--white); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5v15M19.5 12h-15' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5v15M19.5 12h-15' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .6s cubic-bezier(.2,.9,.3,1.1); }
.btn-dark:hover .btn-dark__plus{ transform:rotate(180deg); }
/* letter roll on hover (two stacked copies) */
.roll{ position:relative; display:inline-block; overflow:hidden; line-height:1; }
.roll__a,.roll__b{ display:block; white-space:pre; }
.roll__b{ position:absolute; left:0; top:0; }
.roll .split-char{ display:inline-block; transition:transform .45s var(--ease-framer), opacity .3s ease; }
.roll__a .split-char{ transform:translateY(0); opacity:1; } .roll__b .split-char{ transform:translateY(15px); opacity:0; }
a:hover .roll__a .split-char{ transform:translateY(-15px); opacity:0; } a:hover .roll__b .split-char{ transform:translateY(0); opacity:1; }

.sec-hero__clients{ display:flex; align-items:center; justify-content:center; padding:0 10px; height:60px; overflow:visible; will-change:transform; }
.sec-hero__clients-inner{ display:flex; align-items:center; gap:17px; will-change:transform,opacity; }
.sec-hero__people{ display:flex; align-items:center; padding:2px 8px; border-radius:27px; height:48px; }
.sec-hero__avatar{ display:flex; width:34px; height:44px; align-items:center; flex:none; }
.sec-hero__avatar img,.sec-hero__avatar b{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; }
.sec-hero__avatar--count{ z-index:2; } .sec-hero__avatar--count b{ display:flex; align-items:center; justify-content:center; background:var(--black); color:var(--white); font-size:12px; font-weight:600; letter-spacing:-.02em; }
.sec-hero__rating{ display:flex; flex-direction:column; gap:5px; align-items:flex-start; }
.sec-hero__stars-row{ display:flex; align-items:center; gap:10px; color:var(--white); }
.sec-hero__stars{ display:flex; gap:3px; }
.sec-hero__stars i{ display:block; width:7px; height:7px; background:var(--red); -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.5l3.1 6.6 7.2.9-5.3 5 1.4 7.2L12 17.6l-6.4 3.6L7 14l-5.3-5 7.2-.9z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5l3.1 6.6 7.2.9-5.3 5 1.4 7.2L12 17.6l-6.4 3.6L7 14l-5.3-5 7.2-.9z'/%3E%3C/svg%3E") center/contain no-repeat; }
.sec-hero__based{ color:var(--white); white-space:pre; }

/* social (bottom-left) */
.sec-hero__social{ position:absolute; left:var(--page-pad); bottom:40px; z-index:2; display:flex; align-items:center; gap:20px; }
.sec-hero__icons{ display:flex; gap:10px; align-items:center; }
.sec-hero__icons a{ display:block; width:21px; height:21px; } .sec-hero__icons svg{ width:21px; height:21px; display:block; }
.sec-hero__stay{ display:flex; flex-direction:column; color:var(--white); line-height:12px; }

/* client logo ticker (bottom, columns 2–3) */
.sec-hero__ticker{ position:absolute; left:0; bottom:24px; width:100%; padding:0 var(--page-pad); z-index:1; }
.sec-hero__ticker-wrap{ grid-column:span 2; display:flex; align-items:center; gap:30px; overflow:clip; height:25px; will-change:transform,opacity; }
.sec-hero__ticker-track{ width:100%; overflow:clip; }
.sec-hero__ticker-track ul{ display:flex; align-items:center; gap:100px; width:max-content; }
.sec-hero__ticker-track li{ flex:none; display:flex; align-items:center; }
.sec-hero__ticker-track li > span{ display:block; width:84px; }

/* MASK client logos (white PNG silhouettes) in the hero ticker */
.sec-hero__client{ display:block; height:24px; width:auto; max-width:130px; object-fit:contain; opacity:.9; }

/* ===================== phones (< 810px) ===================== */
@media (max-width:809.98px){
  .sec-hero{ height:auto; min-height:100svh; padding-bottom:120px; }
  .sec-hero__script, .sec-hero__desc, .sec-hero__row, .sec-hero__ticker{ grid-template-columns:1fr; }
  .sec-hero__script > .sec-hero__spacer, .sec-hero__script > span:first-child:empty, .sec-hero__desc > .sec-hero__spacer, .sec-hero__row > .sec-hero__spacer, .sec-hero__ticker > .sec-hero__spacer{ display:none; }
  .sec-hero__services{ padding-top:70px; }
  .sec-hero__script-text{ grid-column:auto; font-size:52px; line-height:46px; white-space:normal; max-width:228px; } /* 2 lines: "less noise." / "more direction." */
  .sec-hero__desc-text{ grid-column:auto; }
  .sec-hero__desc-text br{ display:none; } /* the desktop line break makes orphan words on narrow screens */
  .sec-hero__row{ display:flex; flex-direction:column; align-items:stretch; gap:20px; }
  .sec-hero__clients{ justify-content:flex-start; padding:0; }
  .sec-hero__ticker-wrap{ grid-column:auto; }
  .sec-hero__social{ bottom:70px; }
  .sec-hero__ticker{ bottom:24px; }
}

/* client avatars are square photos: keep the 44px circle (base img{max-width:100%} would squeeze them to the 34px slot) */
.sec-hero__avatar img{ max-width:none; }

/* ==== css/sections/03-hello.css ==== */
/* ==========================================================================
   03 — Hello section ("We are an international studio collective…")
   Measured on neiden.framer.media at 1440×900 (breakpoint 1200–1619).
   Section = 150px padding + [counter 14 + 50 + quote 231 + 50 + author 205.4] + 150px = 850.4px
   ========================================================================== */
.sec-hello{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; padding:150px var(--page-pad);
  background:var(--white); color:var(--black);
  overflow:clip;
  font-family:var(--font-sans);
}

/* ---- hairline column grid (behind everything) ---- */
.sec-hello__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none;
}
.sec-hello__col{ position:relative; height:100%; }
.sec-hello__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-hello__col--1::after{ border-left-width:1px; }

/* ---- Hello wrapper / quote group ---- */
.sec-hello__wrap{
  position:relative; z-index:2; width:100%;
  display:flex; justify-content:center; align-items:center;
  mix-blend-mode:multiply;
}
.sec-hello__quote{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:flex-start; gap:50px;
  background:var(--white);
  mix-blend-mode:difference;
}
.sec-hello__spacer{ position:relative; height:1px; overflow:clip; }

/* ---- Counter label ---- */
.sec-hello__counter{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:14px;
  justify-content:center; height:14px;
}
.sec-hello__counter-inner{ position:relative; width:100%; height:14px; align-self:start; }
.sec-hello__counter-box{
  display:flex; align-items:center; gap:15px; width:max-content; height:14px;
  color:var(--black); text-decoration:none; /* not a link on the live site; only 3 label parts show a pointer */
}
.sec-hello__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-hello__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-hello__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-hello__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-hello__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-hello__label-part--link{ cursor:pointer; }

/* ---- Big quote ---- */
.sec-hello__text{
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:flex-start; gap:70px;
  mix-blend-mode:difference;
}
.sec-hello__line{ position:absolute; left:0; width:100%; height:1px; background:var(--white-10); overflow:clip; z-index:1; }
.sec-hello__line--1{ top:75px; }
.sec-hello__line--2{ bottom:76px; }
.sec-hello__line--3{ bottom:-1px; }
.sec-hello__text-frame{ position:relative; width:100%; display:flex; justify-content:center; align-items:center; }
.sec-hello__title{
  display:block; margin:0; text-align:left; word-break:break-word; white-space:pre-wrap;
  font-family:var(--font-sans); font-size:70px; font-style:normal; font-weight:600; letter-spacing:-.06em; line-height:1.1em;
  color:var(--white); /* fallback (all revealed) — spans carry the real state */
}
.sec-hello__ch{ display:inline; white-space:normal; color:var(--white-10); }
.sec-hello__ch--sp{ white-space:pre; }
.sec-hello__ch.is-on{ color:var(--white); }
.sec-hello__title.is-static .sec-hello__ch{ color:var(--white); }

/* ---- Images ---- */
.sec-hello__images{
  position:absolute; top:50%; left:0; right:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:450px; justify-content:center;
  transform:translateY(-50%); pointer-events:none;
}
.sec-hello__imgwrap{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:450px; }
.sec-hello__imgwrap--m{ min-height:0; height:315px; }
.sec-hello__img{ position:absolute; overflow:clip; z-index:0; will-change:transform; }
.sec-hello__img--l{ left:0; bottom:0; width:280px; height:315px; }
.sec-hello__img--r{ right:0; bottom:-200px; width:315px; height:364px; }
.sec-hello__img-fill{ position:absolute; inset:0; }
.sec-hello__img-fill img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-hello__stacklab{
  position:absolute; left:30px; bottom:20px; width:79px; height:22px; z-index:4;
  mix-blend-mode:difference; overflow:visible;
}
.sec-hello__corner{ position:absolute; top:0; left:0; width:63px; height:63px; transform:rotate(-90deg); image-rendering:pixelated; }
.sec-hello__alphawave{
  position:absolute; right:30px; bottom:20px; width:79px; height:22px; z-index:4;
  transform:scale(1.1); mix-blend-mode:difference; overflow:hidden;
}

/* ---- Paragraph + author ---- */
.sec-hello__author{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
}
.sec-hello__author-wrap{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:50px; align-self:start; }
.sec-hello__para{
  width:100%; white-space:pre-wrap; word-break:break-word;
  font-size:17px; font-weight:500; line-height:1.4; letter-spacing:-.04em; color:var(--black-70);
}
.sec-hello__person{ position:relative; z-index:1; display:flex; align-items:center; gap:20px; width:max-content; overflow:hidden; }
.sec-hello__avatar{ position:relative; width:60px; height:60px; aspect-ratio:1/1; border-radius:60px; overflow:hidden; flex:none; }
.sec-hello__avatar img{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 14%; border-radius:inherit; } /* portrait photo: framed on the face */
.sec-hello__person-text{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.sec-hello__person-name,
.sec-hello__person-company{ white-space:pre; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--black); }
.sec-hello__person-role{ display:flex; align-items:center; gap:3px; white-space:pre; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--black-50); }

/* ---- Facts (corner labels) ---- */
.sec-hello__facts{ position:absolute; inset:0; z-index:1; overflow:clip; pointer-events:none; }
.sec-hello__fact{ position:absolute; display:flex; align-items:center; justify-content:center; gap:10px; overflow:clip; mix-blend-mode:difference; z-index:1; }
.sec-hello__fact--est{ left:var(--page-pad); bottom:30px; }
.sec-hello__fact--proj{ right:var(--page-pad); top:30px; }
.sec-hello__fact p{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-hello{ padding:250px 0; }
  .sec-hello__wrap{ max-width:var(--container-max); }
  .sec-hello__cols,.sec-hello__facts{ right:auto; left:50%; width:100%; max-width:var(--container-max); transform:translateX(-50%); }
  .sec-hello__cols{ padding:0; }
  .sec-hello__fact--est{ left:0; }
  .sec-hello__fact--proj{ right:0; }
  .sec-hello__line--1{ top:98px; }
  .sec-hello__line--2{ bottom:98px; }
  .sec-hello__img--l{ width:370px; height:450px; bottom:-80px; }
  .sec-hello__img--r{ width:80%; height:450px; bottom:-250px; }
  .sec-hello__imgwrap--m{ height:450px; }
}
@media (max-width:1199.98px){
  .sec-hello__title br{ display:none; }
  .sec-hello__title{ word-break:normal; }
  .sec-hello__ch--sp{ white-space:normal; } /* let the text wrap at spaces without the desktop <br>s */
  .sec-hello__counter-inner{ align-self:center; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-hello{ padding:100px 40px; }
  .sec-hello__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-hello__col--3{ display:none; }
  .sec-hello__counter{ display:flex; flex-direction:column; align-items:center; z-index:2; }
  .sec-hello__counter .sec-hello__spacer{ display:none; }
  .sec-hello__counter-inner{ width:auto; }
  .sec-hello__author{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-hello__author .sec-hello__spacer:last-child{ display:none; }
  .sec-hello__author-wrap{ gap:40px; }
  .sec-hello__images{ right:auto; width:100%; grid-template-rows:260px; }
  .sec-hello__imgwrap{ min-height:0; height:260px; }
  .sec-hello__img--l{ width:240px; height:300px; bottom:-57px; }
  .sec-hello__img--r{ display:none; }
  .sec-hello__title{ font-size:50px; }
  .sec-hello__line--1{ top:auto; bottom:54px; }
  .sec-hello__line--2{ bottom:auto; top:53px; }
}
@media (max-width:809.98px){
  .sec-hello{ padding:150px 20px; }
  .sec-hello__cols{ grid-template-columns:1fr; padding:0 20px; }
  .sec-hello__col--2,.sec-hello__col--3{ display:none; }
  .sec-hello__quote{ gap:30px; }
  .sec-hello__counter,.sec-hello__author{ display:flex; flex-direction:column; align-items:center; }
  .sec-hello__spacer{ display:none; }
  .sec-hello__counter-inner{ width:fit-content; }
  .sec-hello__images{ display:none; }
  .sec-hello__author-wrap{ gap:30px; align-items:center; }
  .sec-hello__title{ font-size:36px; }
  .sec-hello__line--1{ top:67px; }
  .sec-hello__line--2{ bottom:auto; top:34px; }
  .sec-hello__line--3{ bottom:33px; }
  .sec-hello__fact--est{ left:20px; bottom:20px; }
  .sec-hello__fact--proj{ right:20px; top:20px; }
}

/* MASK client logos (white PNG) over the photos */
img.sec-hello__stacklab, img.sec-hello__alphawave{ width:auto; height:22px; max-width:120px; object-fit:contain; transform:none; }

/* ==== css/sections/04-services.css ==== */
/* ==========================================================================
   04 — Services ("What We Build")
   Measured at 1440×900 (breakpoint 1200–1619): section 2852px, bg rgba(0,0,0,.05),
   6-col boxed grid (heading 2 cols / list 4 cols), 3 hairline columns behind.
   ========================================================================== */
.sec-services{
  position:relative; z-index:2; width:100%;
  background:var(--black-05); color:var(--black);
  font-family:var(--font-sans);
}

/* ---- background hairline grid (3 cols, 1px lines at 40 / 493 / 947 / 1400) ---- */
.sec-services__lines{
  position:absolute; inset:0; z-index:0; display:grid; pointer-events:none;
  grid-template-columns:repeat(3,minmax(50px,1fr)); width:100%; max-width:var(--container-max);
  left:50%; transform:translateX(-50%); padding:0 var(--page-pad);
}
.sec-services__col{ position:relative; height:100%; }
.sec-services__col::after{ content:""; position:absolute; inset:0; pointer-events:none; border-right:1px solid var(--line-light); }
.sec-services__col--1::after{ border-left:1px solid var(--line-light); }

/* ---- boxed layout ---- */
.sec-services__boxed{
  position:relative; z-index:1; display:grid; width:100%; max-width:var(--container-max); margin:0 auto;
  grid-template-columns:repeat(6,minmax(50px,1fr)); grid-template-rows:auto;
  padding:200px 0;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-services__boxed{ max-width:none; padding:150px var(--page-pad); } }

/* Facts overlay (top-right / bottom-center micro labels) */
.sec-services__facts{ position:absolute; left:0; right:0; top:.0381947%; height:100%; z-index:0; pointer-events:none; overflow:clip; }
.sec-services__fact{ position:absolute; display:flex; align-items:center; white-space:pre; }
.sec-services__fact--top{ top:30px; right:var(--page-pad); }
.sec-services__fact--bottom{ bottom:30px; left:50%; transform:translateX(-50%); }
.sec-services__fact-text{ font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black); }
.sec-services__fact-dim{ color:var(--black-50); }

/* ---- left: sticky title column ---- */
.sec-services__heading-wrap{
  position:relative; z-index:1; grid-column:span 2; display:flex; flex-direction:column;
  justify-content:space-between; align-items:flex-start; width:100%; height:100%;
}
.sec-services__title{
  position:sticky; top:100px; z-index:1; display:flex; flex-direction:column; align-items:flex-start;
  gap:200px; width:100%;
}
.sec-services__inner{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-services__heading-base{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; overflow:clip; }

/* label "[ ND® ‒ SERVICES / 思想と実行 ]" */
.sec-services__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-services__label-marks{ display:flex; align-items:center; height:14px; }
.sec-services__label-marks svg{ display:block; flex:none; }
.sec-services__label-text{ display:flex; align-items:flex-end; gap:2px; height:14px; white-space:pre; }
.sec-services__label-item{
  display:block; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
a.sec-services__label-item{ cursor:pointer; }
/* '‒' (U+2012) is a real DM Sans glyph — rendered natively it matches the live site pixel for pixel */
.sec-services__label-item--dash{ position:relative; }
.sec-services__label-item--jp{ font-weight:500; color:var(--black-40); }

.sec-services__h{
  width:100%; font-size:70px; font-weight:600; line-height:63px; letter-spacing:-.06em; color:var(--black);
  white-space:pre-wrap; word-break:break-word;
}
.sec-services__h .split-word{ white-space:nowrap; }

.sec-services__lead{ display:flex; flex-direction:column; }
.sec-services__lead p{ white-space:pre; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

.sec-services__sub-wrap{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; padding:0 0 20px; }
.sec-services__sub{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; }
.sec-services__sub-title{ width:100%; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); white-space:pre-wrap; }
.sec-services__sub-text{ width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); white-space:pre-wrap; }

/* black CTA button 300×60 */
.sec-services__btn-wrap{ position:relative; width:300px; height:60px; }
.sec-services__btn{
  position:relative; display:flex; align-items:center; justify-content:center; width:300px; height:60px;
  background:var(--black); color:var(--white); cursor:pointer; overflow:clip; text-decoration:none;
  transition:background-color .6s cubic-bezier(.22,1,.36,1);
}
.sec-services__btn:hover{ background:var(--red); }
.sec-services__btn-txt{ position:relative; display:block; height:12px; overflow:clip; }
.sec-services__btn-line{
  display:block; height:12px; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--white); white-space:pre;
}
.sec-services__btn-line--b{ position:absolute; left:0; top:0; }
/* live: on hover text "1" letters drop to +15px and text "2" letters come in from -15px, ~0.3s each, ~0.03s letter stagger, no fade */
.sec-services__btn-line .c{ display:inline-block; transition:transform .32s cubic-bezier(.22,1,.36,1); transition-delay:calc(var(--i) * .03s); }
.sec-services__btn-line--b .c{ transform:translateY(-15px); }
.sec-services__btn:hover .sec-services__btn-line--a .c{ transform:translateY(15px); }
.sec-services__btn:hover .sec-services__btn-line--b .c{ transform:translateY(0); }
.sec-services__btn-icon{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; background:var(--white); pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.sec-services__btn:hover .sec-services__btn-icon{ transform:rotate(180deg); }

/* ---- right: services list ---- */
.sec-services__list{
  position:relative; z-index:1; grid-column:span 4; align-self:start; display:flex; flex-direction:column; align-items:center; width:100%;
}
.sec-services__list::before{ content:""; position:absolute; left:0; right:0; top:0; height:1px; background:var(--line-light); pointer-events:none; }

.sec-services__item{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; padding:50px 0;
}
.sec-services__item::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--line-light); pointer-events:none; }

.sec-services__item-head{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:100%; padding:0 0 6px 20px; overflow:clip; }
.sec-services__item-label{ display:flex; align-items:center; gap:3px; height:14px; white-space:pre; overflow:clip; }
.sec-services__item-num{ font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); }
.sec-services__item-jp{ font-size:14px; font-weight:500; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black-40); }
.sec-services__item-title{
  width:100%; font-size:50px; font-weight:600; line-height:50px; letter-spacing:-.05em; color:var(--black); white-space:pre-wrap; word-break:break-word;
}
.sec-services__item-title .w{ display:inline-block; will-change:transform; }

/* images row: 300px tall, two 270px boxes */
.sec-services__media{ display:flex; align-items:center; justify-content:flex-start; width:100%; height:300px; overflow:clip; }
.sec-services__img{ position:relative; flex:1 0 0; width:1px; height:270px; overflow:clip; }
.sec-services__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-services__corner{
  position:absolute; top:0; left:0; width:63px; height:63px; z-index:1; pointer-events:none;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'><path d='M 0 0 L 63 63 L 63 0 Z' fill='rgb(242,242,242)'/></svg>") 0 0/100% 100% no-repeat;
  transform:rotate(-90deg); transform-origin:50% 50%;
}

/* info grid: description | tags */
.sec-services__info{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); width:100%; overflow:clip; }
.sec-services__desc{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; width:100%; padding:0 20px; overflow:clip; }
.sec-services__text{ width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; white-space:pre-wrap; word-break:break-word; }
.sec-services__price{ font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); white-space:pre; }

.sec-services__tags{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; padding:0 20px; overflow:clip; }
.sec-services__tag-row{ display:flex; flex-wrap:wrap; align-items:center; gap:5px; width:100%; overflow:clip; }
.sec-services__tag{
  position:relative; display:flex; align-items:center; justify-content:center; padding:5px 10px;
  font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--black); white-space:pre;
  box-shadow:inset 0 0 0 1px var(--line-light);
}

/* ---- tablet / mobile (secondary) ---- */
@media (max-width:1199.98px){
  .sec-services__lines{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-services__col--3{ display:none; }
  .sec-services__boxed{ display:flex; flex-direction:column; align-items:flex-start; padding:100px var(--page-pad) 140px; }
  .sec-services__heading-wrap{ height:auto; }
  .sec-services__title{ position:relative; top:auto; gap:50px; }
  .sec-services__list::before{ display:none; }
  .sec-services__item{ padding:40px 0; gap:30px; }
  .sec-services__item-title{ font-size:40px; line-height:40px; }
}
@media (max-width:809.98px){
  .sec-services__boxed{ padding:100px var(--page-pad); gap:50px; }
  .sec-services__h{ font-size:50px; line-height:45px; }
  .sec-services__media{ flex-direction:column; height:auto; }
  .sec-services__img{ flex:none; width:100%; height:200px; }
  .sec-services__info{ grid-template-columns:1fr; gap:30px; }
  .sec-services__tags{ order:0; }
  .sec-services__desc{ order:1; }
  .sec-services__item-title{ font-size:32px; line-height:32px; letter-spacing:-.04em; }
}

/* ==== css/sections/05-portfolio-a.css ==== */
/* ==========================================================================
   05 — Portfolio part A: "Case studies." title + sticky blurred backgrounds + 4 project items
   Measured on neiden.framer.media at 1440×900 (section top 4371.5, part A height 3964)
   ========================================================================== */
.sec-portfolio-a{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:center;
  background:var(--grey-19); color:var(--white);
  overflow:clip;
}

/* ---- 3-column hairlines (section-wide and per slot) ---- */
.sec-portfolio-a__lines{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
@media (min-width:1620px){ .sec-portfolio-a__lines{ left:calc(50% - min(1550px,100%)/2); max-width:1550px; padding:0; } }
.sec-portfolio-a__lines i{ display:block; height:100%; border-right:1px solid var(--line-dark); }
.sec-portfolio-a__lines i:first-child{ border-left:1px solid var(--line-dark); }

/* ---- Title block ---- */
.sec-portfolio-a__title{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  padding:200px 0 100px;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-portfolio-a__title{ max-width:none; padding:150px 40px 100px; } }
.sec-portfolio-a__title-grid{
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:start; width:100%;
}
.sec-portfolio-a__sub{
  display:flex; flex-direction:column; align-items:flex-start; gap:30px;
  width:min-content; justify-self:start; align-self:start;
}
.sec-portfolio-a__tag{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-portfolio-a__bars{ display:flex; align-items:center; height:14px; flex:none; }
.sec-portfolio-a__bars svg{ display:block; flex:none; height:14px; }
.sec-portfolio-a__tagtext{
  display:flex; align-items:flex-end; gap:2px; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
}
.sec-portfolio-a__tagtext > span{ display:block; white-space:pre; }
.sec-portfolio-a__tagtext > span:nth-child(3){ min-width:7.6px; text-align:center; } /* U+2012 measures 7.6px on the live site */
.sec-portfolio-a__jp{ font-weight:500; color:var(--white-30); }
.sec-portfolio-a__desc{
  font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--white-30); white-space:pre;
}

/* marquee (spans columns 2–3) */
.sec-portfolio-a__marquee{
  grid-column:span 2; position:relative; width:100%; align-self:start;
  display:flex; align-items:center; overflow:clip;
}
.sec-portfolio-a__marquee ul{ display:flex; align-items:center; gap:10px; width:max-content; }
.sec-portfolio-a__marquee li{ flex:none; width:fit-content; }
.sec-portfolio-a__heading{
  display:flex; flex-direction:column; align-items:flex-start; gap:20px;
  width:min-content; padding:0 40px 0 0; overflow:clip;
}
.sec-portfolio-a__heading h2{ font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; white-space:pre; color:var(--white); }
.sec-portfolio-a__heading p{ position:relative; z-index:2; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; white-space:pre; color:var(--white); }
.sec-portfolio-a__heading p span{ color:var(--white-30); }

/* ---- Works: sticky background + slots ---- */
.sec-portfolio-a__works{
  position:relative; z-index:2; width:100%;
  display:flex; justify-content:center; align-items:center; overflow:clip;
}
.sec-portfolio-a__bg{ position:absolute; top:0; left:0; width:100%; height:100%; overflow:clip; }
.sec-portfolio-a__bg-sticky{ position:sticky; top:0; z-index:1; width:100%; height:100vh; overflow:clip; }
.sec-portfolio-a__bg-layer{
  position:absolute; top:0; left:0; width:100%; height:100%; overflow:clip;
  opacity:0; transition:opacity 1s var(--ease-out-expo); will-change:opacity;
}
.sec-portfolio-a__bg-layer.is-active{ opacity:1; }
.sec-portfolio-a__bg-img{
  position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; overflow:clip;
  filter:blur(7px); transform:scale(1.2); will-change:filter;
}
/* backgrounds are pre-blurred 160px variants: no runtime blur filter */
.sec-portfolio-a__bg-img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-portfolio-a__bg-shade{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; background:var(--black-60); }
.sec-portfolio-a__bg-layer:first-child .sec-portfolio-a__bg-shade{ background:var(--black-30); }
.sec-portfolio-a__grain{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; overflow:hidden; }
.sec-portfolio-a__grain i{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; will-change:transform;
  animation:sec-portfolio-a-grain 1.2s steps(1) infinite;
}
@keyframes sec-portfolio-a-grain{
  0%{ transform:translate(9.25%,-9.25%); } 12.5%{ transform:translate(6.75%,-6.75%); } 25%{ transform:translate(-3.25%,3.25%); }
  37.5%{ transform:translate(-11%,11%); } 50%{ transform:translate(2.5%,-2.5%); } 62.5%{ transform:translate(12%,-12%); }
  75%{ transform:translate(-7.5%,7.5%); } 87.5%{ transform:translate(-1%,1%); } 100%{ transform:translate(9.25%,-9.25%); }
}

.sec-portfolio-a__list{ position:relative; width:100%; display:flex; flex-direction:column; align-items:flex-start; }
.sec-portfolio-a__slot{
  position:relative; z-index:1; width:100%; height:100vh;
  display:flex; justify-content:center; align-items:center; gap:10px; overflow:clip;
}
.sec-portfolio-a__item{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; justify-content:center; align-items:center; padding:0; overflow:clip;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-portfolio-a__item{ max-width:none; padding:0 40px; } }
.sec-portfolio-a__link{
  position:relative; z-index:3; display:flex; flex-direction:column; align-items:center;
  width:100%; max-width:100%; cursor:pointer; color:inherit; text-decoration:none;
}

/* meta row (01. / year / client) */
.sec-portfolio-a__meta{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:0 0 20px;
}
.sec-portfolio-a__meta > div{ position:relative; z-index:3; display:flex; align-items:center; gap:5px; height:min-content; overflow:clip; }
.sec-portfolio-a__lbl,.sec-portfolio-a__val{
  display:inline-block; font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; white-space:pre;
}
.sec-portfolio-a__lbl{ color:var(--white-30); }
.sec-portfolio-a__val{ color:var(--white); }

/* image */
.sec-portfolio-a__image{
  position:relative; width:100%; height:calc(100vh * .65);
  display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:clip;
}
.sec-portfolio-a__image-scale{
  width:100%; height:100%; transform:scale(1.1); transform-origin:50% 50%;
  transition:transform .6s var(--ease-framer); will-change:transform; /* live: 0.03@100ms .11@200 .44@300 .80@400 .95@500 1@600 */
}
.sec-portfolio-a__link:hover .sec-portfolio-a__image-scale{ transform:scale(1); }
.sec-portfolio-a__image-zoom{ position:relative; width:100%; height:100%; transform-origin:50% 50%; }
.sec-portfolio-a__image-clip{ position:relative; width:100%; height:100%; overflow:hidden; }
.sec-portfolio-a__image-clip img{
  position:absolute; left:0; top:-150px; width:100%; height:calc(100% + 300px);
  object-fit:cover; object-position:center; will-change:transform;
}
.sec-portfolio-a__shade{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; background:var(--black); opacity:0; }
.sec-portfolio-a__logo{
  position:absolute; top:50%; left:50%; z-index:4; width:79px; height:auto; aspect-ratio:3.59091;
  mix-blend-mode:difference; opacity:0; transform:translate(-50%,-50%) scale(1.3); transform-origin:50% 50%;
  transition:transform .6s var(--ease-framer), opacity .6s var(--ease-framer); pointer-events:none;
}
.sec-portfolio-a__logo svg{ display:block; width:100%; height:100%; }

.sec-portfolio-a__link:hover .sec-portfolio-a__logo{ opacity:1; transform:translate(-50%,-50%) scale(1); }

/* caption row (title / tags) */
.sec-portfolio-a__caption{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:20px 0;
}
.sec-portfolio-a__cap-spacer{ min-height:22px; }
.sec-portfolio-a__ttl-wrap{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; }
.sec-portfolio-a__ttl{
  width:min-content; overflow:clip; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
}
.sec-portfolio-a__ttl span{ display:inline-block; }
.sec-portfolio-a__tags{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; height:100%; }
.sec-portfolio-a__tags ul{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:min-content; }
.sec-portfolio-a__tags li{
  display:block; width:min-content; /* words inside a tag are separated by a literal space (2.7px), not a flex gap */
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; white-space:pre; color:var(--white-30);
}
.sec-portfolio-a__tags li span{ display:inline-block; }

/* ---- smaller breakpoints (kept sane, not pixel-matched) ---- */
@media (min-width:810px) and (max-width:1199.98px){
  .sec-portfolio-a__title{ max-width:none; padding:100px 40px 50px; }
  .sec-portfolio-a__title-grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-portfolio-a__marquee{ grid-column:auto; }
  .sec-portfolio-a__lines{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-portfolio-a__item{ max-width:none; padding:0 40px; }
  .sec-portfolio-a__meta,.sec-portfolio-a__caption{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-portfolio-a__cap-spacer{ display:none; }
}
@media (max-width:809.98px){
  .sec-portfolio-a__title{ max-width:none; padding:100px 20px 70px; }
  .sec-portfolio-a__title-grid{ display:flex; flex-direction:column; align-items:center; gap:20px; }
  .sec-portfolio-a__sub{ width:100%; gap:20px; }
  .sec-portfolio-a__heading h2{ font-size:60px; letter-spacing:-.06em; }
  .sec-portfolio-a__lines{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-portfolio-a__slot{ height:auto; padding:70px 0; }
  .sec-portfolio-a__item{ max-width:none; padding:0 20px; }
  .sec-portfolio-a__image{ height:calc(100vh * .45); }
  .sec-portfolio-a__meta,.sec-portfolio-a__caption{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-portfolio-a__cap-spacer{ display:none; }
}

/* MASK projects: client logos are raster images (the template used inline SVG marks) */
.sec-portfolio-a__logo{ width:120px; aspect-ratio:auto; height:40px; }
.sec-portfolio-a__logo img{ display:block; width:100%; height:100%; object-fit:contain; }
.sec-portfolio-a__logo{ width:auto; height:auto; aspect-ratio:auto; mix-blend-mode:normal; }
.sec-portfolio-a__logo img{ width:auto; }

/* phones: one meta cell per line, long sector names wrap instead of being cut */
@media (max-width:809.98px){
  .sec-portfolio-a__meta{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
  .sec-portfolio-a__meta > div:first-child{ display:none; }
  .sec-portfolio-a__meta > div{ align-items:flex-start; max-width:100%; }
  .sec-portfolio-a__val{ white-space:normal; }
}

/* touch screens have no hover: show the client logo permanently */
@media (hover:none), (pointer:coarse){
  .sec-portfolio-a__logo{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}

/* ==== css/sections/06-portfolio-b.css ==== */
/* ==========================================================================
   06 — Portfolio part B: More works · Highlights · Showreel · Awards · ticker
   (dark #191919, continues part A; measured on neiden.framer.media @1440)
   ========================================================================== */
.sec-portfolio-b{
  position:relative; z-index:2; width:100%; overflow:clip;
  background:var(--grey-19); color:#fff; padding:0 0 150px;
  display:flex; flex-direction:column; align-items:center;
  font-family:var(--font-sans);
}
.sec-portfolio-b p,.sec-portfolio-b h2{ margin:0; }

/* ---- hairlines (3 columns) ---- */
.sec-portfolio-b .pb-lines{
  position:absolute; inset:0; z-index:0; padding:0 var(--page-pad); pointer-events:none;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
}
.sec-portfolio-b .pb-lines__col{ border-right:1px solid var(--line-dark); height:100%; }
.sec-portfolio-b .pb-lines__col:first-child{ border-left:1px solid var(--line-dark); }

/* ---- shared: counter label + copy ---- */
.sec-portfolio-b .pb-counter{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-portfolio-b .pb-label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-portfolio-b .pb-label__dots{ display:flex; align-items:center; width:40px; height:14px; flex:none; }
.sec-portfolio-b .pb-dot{ display:block; height:14px; fill:var(--red); flex:none; }
.sec-portfolio-b .pb-dot--1{ width:12px; } .sec-portfolio-b .pb-dot--2{ width:10px; } .sec-portfolio-b .pb-dot--3{ width:8px; }
.sec-portfolio-b .pb-dot--4{ width:6px; }  .sec-portfolio-b .pb-dot--5{ width:4px; }
.sec-portfolio-b .pb-label__text{
  display:flex; align-items:flex-end; gap:2px; white-space:pre;
  font-size:14px; line-height:14px; font-weight:600; letter-spacing:-.56px; text-transform:uppercase; color:#fff;
}
.sec-portfolio-b .pb-label__jp{ font-weight:500; color:var(--white-30); }
.sec-portfolio-b .pb-counter__copy{
  font-size:16px; line-height:22.4px; font-weight:400; letter-spacing:-.8px; color:var(--white-30); white-space:pre; text-align:left;
}

/* ======================= More works ======================= */
.sec-portfolio-b .pb-more{
  position:relative; z-index:1; width:100%; padding:150px var(--page-pad) 0;
  display:flex; flex-direction:column; align-items:center; gap:100px;
}
.sec-portfolio-b .pb-facts{ position:absolute; inset:0; z-index:0; overflow:clip; mix-blend-mode:difference; pointer-events:none; }
.sec-portfolio-b .pb-facts__label{
  position:absolute; top:30px; left:50%; transform:translateX(-50%); white-space:pre; z-index:1;
  font-size:12px; line-height:12px; font-weight:600; letter-spacing:-.24px; text-transform:uppercase; color:var(--white-30);
}
.sec-portfolio-b .pb-facts__sep{ color:rgba(0,0,0,.5); }
.sec-portfolio-b .pb-facts__strong{ color:#fff; }
.sec-portfolio-b .pb-more__content{
  position:relative; z-index:1; width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center;
}
.sec-portfolio-b .pb-more__aside{
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; overflow:clip; height:100%; width:100%;
}

/* ALL PROJECTS button (330×40 visible window over a 60px link) */
.sec-portfolio-b .pb-btn-wrap{ position:relative; width:330px; height:40px; overflow:clip; flex:none; }
.sec-portfolio-b .pb-btn{
  position:absolute; left:0; top:-10px; width:330px; height:60px; display:flex; align-items:center; justify-content:center;
  background:rgb(33,33,33); color:#fff; cursor:pointer; /* hover (bg → red, icon rotate, letter slide) is spring-driven in JS, measured on live */
}
.sec-portfolio-b .pb-btn__icon{
  position:absolute; top:20px; right:20px; width:20px; height:20px; pointer-events:none; z-index:1;
}
.sec-portfolio-b .pb-btn__icon svg{ width:100%; height:100%; display:block; }
.sec-portfolio-b .pb-btn__text{
  position:relative; z-index:1; height:12px; overflow:clip; display:flex; align-items:center; justify-content:center; white-space:pre;
  font-size:12px; line-height:12px; font-weight:700; letter-spacing:-.24px; text-transform:uppercase; color:#fff; pointer-events:none;
}
.sec-portfolio-b .pb-btn__label{ white-space:pre; }
.sec-portfolio-b .pb-btn__word{ white-space:nowrap; display:inline; }
.sec-portfolio-b .pb-btn__ch{ display:inline-block; will-change:transform; }

/* rows (accordion: hover expands, leave collapses; row 1 starts open). Open/close = ease-in-out .6s, measured in-page on live (50% at ~310ms) */
.sec-portfolio-b .pb-list{ grid-column:span 2; display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; }
.sec-portfolio-b .pb-row{ display:block; width:100%; color:#fff; text-decoration:none; }
.sec-portfolio-b .pb-row__in{ position:relative; width:100%; padding:20px 0 30px; overflow:clip; box-shadow:inset 0 -1px 0 var(--line-dark); }
.sec-portfolio-b .pb-row__meta{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); height:12px; }
.sec-portfolio-b .pb-row__num,.sec-portfolio-b .pb-row__year{
  display:flex; align-items:center; white-space:pre; z-index:3; position:relative;
  font-size:12px; line-height:12px; font-weight:500; letter-spacing:-.24px; text-transform:uppercase; color:var(--white-30);
}
.sec-portfolio-b .pb-row__year{ gap:5px; }
.sec-portfolio-b .pb-row__body{ position:relative; z-index:3; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); padding-top:10px; }
.sec-portfolio-b .pb-row__media{
  position:relative; width:100%; height:22px; overflow:clip; z-index:3;
  transition:height .6s cubic-bezier(.42,0,.58,1);
}
.sec-portfolio-b .pb-row.is-open .pb-row__media{ height:200px; }
.sec-portfolio-b .pb-row__img{
  position:absolute; left:0; top:24px; width:320px; height:200px; overflow:clip; z-index:1;
  transition:top .6s cubic-bezier(.42,0,.58,1);
}
.sec-portfolio-b .pb-row.is-open .pb-row__img{ top:0; }
.sec-portfolio-b .pb-row__img img{ display:block; width:100%; height:100%; object-fit:cover; }
.sec-portfolio-b .pb-row__logo{
  position:absolute; left:50%; top:39px; width:79px; height:22px; transform:translateX(-50%); z-index:4;
  background-position:center; background-repeat:no-repeat; background-size:contain; mix-blend-mode:difference; opacity:0;
  transition:top .6s cubic-bezier(.42,0,.58,1), opacity .6s cubic-bezier(.42,0,.58,1);
}
.sec-portfolio-b .pb-row.is-open .pb-row__logo{ top:89px; opacity:1; }
.sec-portfolio-b .pb-row__text{
  position:relative; align-self:end; justify-self:start; width:100%; height:22.4px; overflow:clip;
  transition:height .6s cubic-bezier(.42,0,.58,1);
}
.sec-portfolio-b .pb-row.is-open .pb-row__text{ height:48.4px; }
.sec-portfolio-b .pb-row__title{
  position:relative; z-index:1; white-space:pre-wrap; word-break:break-word;
  font-size:16px; line-height:22.4px; font-weight:600; letter-spacing:-.64px; color:#fff;
}
.sec-portfolio-b .pb-row__tags{
  position:absolute; left:0; bottom:-20px; width:100%; z-index:1; white-space:pre-wrap; opacity:0;
  font-size:14px; line-height:21px; font-weight:400; letter-spacing:-.56px; color:var(--white-40);
  transition:bottom .6s cubic-bezier(.42,0,.58,1), opacity .6s cubic-bezier(.42,0,.58,1);
}
.sec-portfolio-b .pb-row.is-open .pb-row__tags{ bottom:0; opacity:1; }

/* ======================= Highlights title ======================= */
.sec-portfolio-b .pb-title{
  position:relative; z-index:1; width:100%; padding:150px var(--page-pad) 100px;
  display:flex; justify-content:space-between; align-items:center;
}
.sec-portfolio-b .pb-title__counter{ flex:1 0 0; width:1px; align-self:stretch; }
.sec-portfolio-b .pb-heading{ flex:2 0 0; width:1px; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.sec-portfolio-b .pb-heading__h2{
  width:100%; white-space:pre-wrap; word-break:break-word;
  font-size:100px; line-height:80px; font-weight:600; letter-spacing:-8px; color:#fff;
}
.sec-portfolio-b .pb-heading__word{ display:inline-block; }
.sec-portfolio-b .pb-heading__copy{
  white-space:pre; font-size:14px; line-height:14px; font-weight:600; letter-spacing:-.56px; text-transform:uppercase; color:#fff;
}
.sec-portfolio-b .pb-heading__c{ color:var(--white-30); }

/* ======================= Showreel ======================= */
.sec-portfolio-b .pb-showreel{
  position:relative; width:100%; height:400vh; overflow:clip;
  display:flex; justify-content:center; align-items:flex-start; gap:10px;
}
.sec-portfolio-b .pb-showreel__stage{
  position:sticky; top:0; z-index:1; width:100%; overflow:hidden;
  transform:scale(3); transform-origin:50% 50%; will-change:transform;
}
.sec-portfolio-b .pb-videos{ position:relative; width:100%; background:#000; overflow:clip; display:flex; flex-direction:column; align-items:center; }
.sec-portfolio-b .pb-videos__row{ display:flex; justify-content:center; align-items:center; width:100%; height:33vh; overflow:clip; flex:none; }
.sec-portfolio-b .pb-videos__row--mid{ height:34vh; }
.sec-portfolio-b .pb-video{
  position:relative; flex:1 0 0; width:1px; height:34vh; display:flex; justify-content:center; align-items:center; gap:10px; overflow:clip;
}
.sec-portfolio-b .pb-video__in{ position:relative; flex:none; width:101%; height:34vh; }
.sec-portfolio-b .pb-video__in video{ display:block; width:100%; height:100%; object-fit:cover; background:transparent; }
.sec-portfolio-b .pb-date{
  position:absolute; left:0; bottom:30px; width:100%; padding:0 30px; z-index:1; overflow:clip; opacity:0;
  display:flex; justify-content:space-between; align-items:center;
}
.sec-portfolio-b .pb-date__item{
  white-space:pre; z-index:1; position:relative;
  font-size:12px; line-height:12px; font-weight:600; letter-spacing:-.24px; text-transform:uppercase; color:#fff;
}
.sec-portfolio-b .pb-date__item--muted{ color:var(--white-50); }
.sec-portfolio-b .pb-date__strong{ color:#fff; }
.sec-portfolio-b .pb-mask{ position:absolute; inset:0; z-index:2; background:rgba(0,0,0,.4); pointer-events:none; } /* live: rgba(0,0,0,.4), opacity = 1 − page scroll progress (verified 0.559 @ scrollY 12181 / 27628) */
.sec-portfolio-b .pb-titlewrap{ position:absolute; inset:0; z-index:2; background:rgba(0,0,0,.4); mix-blend-mode:difference; pointer-events:none; }
.sec-portfolio-b .pb-titlewrap__center{
  position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.sec-portfolio-b .pb-showreel__title{
  width:20%; display:flex; justify-content:center; align-items:center; opacity:0; transform:scale(1.2); will-change:transform,opacity;
}
.sec-portfolio-b .pb-showreel__title-text{
  white-space:pre; text-align:left; color:#fff;
  font-size:3.3238vw; line-height:.8em; font-weight:700; letter-spacing:-.06em; /* fit-text on live: glyph run = exactly 20% of the stage (288px @1440) */
}
.sec-portfolio-b .pb-btnwrap{ position:absolute; inset:0; z-index:3; overflow:clip; pointer-events:none; user-select:none; }
.sec-portfolio-b .pb-btnwrap__center{
  position:absolute; top:50%; left:0; width:100%; transform:translateY(-50%);
  display:flex; flex-direction:column; align-items:center; gap:30px;
}
.sec-portfolio-b .pb-cover{ display:flex; flex-direction:column; align-items:center; width:100%; opacity:0; transform:scale(.4); will-change:transform,opacity; }
.sec-portfolio-b .pb-play{
  pointer-events:auto; position:relative; display:flex; width:80px; height:80px; border-radius:60px; overflow:clip; flex:none;
  background:#000; -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); cursor:pointer; will-change:transform; /* hover scale 1.1 = JS spring */
}
.sec-portfolio-b .pb-play__icon{ position:absolute; top:31px; left:34px; width:16px; height:18px; }
.sec-portfolio-b .pb-play__icon svg{ display:block; width:100%; height:100%; }

/* ======================= Awards ======================= */
.sec-portfolio-b .pb-awards{
  position:relative; z-index:1; width:100%; height:186px; padding:50px var(--page-pad) 0; border-radius:10px;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:center;
}
.sec-portfolio-b .pb-awards__grid{ position:relative; width:100%; height:130px; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center; }
.sec-portfolio-b .pb-dots{ position:absolute; inset:0; pointer-events:none; }
.sec-portfolio-b .pb-dots__d{ position:absolute; width:4px; height:4px; background:#fff; z-index:1; }
.sec-portfolio-b .pb-dots__d--tl{ top:-2px; left:-2px; } .sec-portfolio-b .pb-dots__d--tr{ top:-2px; right:-2px; }
.sec-portfolio-b .pb-dots__d--bl{ bottom:-2px; left:-2px; } .sec-portfolio-b .pb-dots__d--br{ bottom:-2px; right:-2px; }
.sec-portfolio-b .pb-award-wrap{ position:relative; width:100%; height:100%; }
.sec-portfolio-b .pb-award{
  position:relative; height:100%; width:100%; padding:30px; overflow:clip; cursor:pointer;
  display:flex; flex-direction:column; align-items:flex-start;
  box-shadow:inset 0 1px 0 var(--line-dark), inset 0 -1px 0 var(--line-dark);
}
.sec-portfolio-b .pb-award__date{
  position:absolute; top:20px; right:20px; z-index:1; white-space:pre;
  font-size:14px; line-height:21px; font-weight:400; letter-spacing:-.56px; color:var(--white-30);
}
.sec-portfolio-b .pb-award__body{ position:relative; flex:1 0 0; width:100%; height:1px; }
.sec-portfolio-b .pb-award__row{
  position:absolute; left:0; right:0; top:14.7px; display:flex; align-items:center; gap:20px; z-index:1;
}
.sec-portfolio-b .pb-award__icon{ display:block; flex:none; background-position:center; background-repeat:no-repeat; background-size:contain; }
.sec-portfolio-b .pb-award__icon--reddot{ width:32px; height:32px; }
.sec-portfolio-b .pb-award__icon--awwwards{ width:54px; height:13px; }
.sec-portfolio-b .pb-award__icon--if{ width:31px; height:31px; }
.sec-portfolio-b .pb-award__col{ flex:1 0 0; width:1px; display:flex; flex-direction:column; align-items:flex-start; }
.sec-portfolio-b .pb-award__head{ display:flex; align-items:center; gap:5px; width:100%; }
.sec-portfolio-b .pb-award__count{ white-space:pre; flex:none; font-size:14px; line-height:19.6px; font-weight:600; letter-spacing:-.56px; color:var(--white-30); }
.sec-portfolio-b .pb-award__name{ flex:1 0 0; width:1px; white-space:pre-wrap; font-size:14px; line-height:19.6px; font-weight:600; letter-spacing:-.56px; color:#fff; }
.sec-portfolio-b .pb-award__sub{ width:100%; white-space:pre-wrap; font-size:14px; line-height:21px; font-weight:400; letter-spacing:-.56px; color:var(--white-30); }
.sec-portfolio-b .pb-award__desc{
  position:absolute; left:0; right:0; top:63px; z-index:1; white-space:pre-wrap; opacity:0; filter:blur(8px);
  font-size:14px; line-height:21px; font-weight:400; letter-spacing:-.56px; color:var(--white-70);
}
/* hover (date → top -25 / row → top -41 fade+blur out, desc → top 3.5 fade+blur in) is a JS spring ≈ NC.spring(.6), measured on live */

/* ======================= ñeiden tickers (bottom) ======================= */
.sec-portfolio-b .pb-ticker-wrap{
  position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:100%; z-index:1; padding:0 0 10px; overflow:hidden;
  display:flex; flex-direction:column; align-items:center;
}
.sec-portfolio-b .pb-ticker{ position:relative; width:100%; height:20px; overflow:hidden; display:flex; align-items:center; }
.sec-portfolio-b .pb-ticker ul{ display:flex; align-items:center; gap:80px; }
.sec-portfolio-b .pb-ticker li{ flex:none; }
.sec-portfolio-b .pb-ticker__item{ height:20px; white-space:pre; }
.sec-portfolio-b .pb-ticker__item p{ font-size:16px; line-height:24px; font-weight:600; letter-spacing:-.64px; color:#fff; }
.sec-portfolio-b .pb-ticker--blur .pb-ticker__item{ filter:blur(1px); opacity:.29; }

/* ======================= responsive (secondary) ======================= */
@media (max-width:1199.98px){
  .sec-portfolio-b .pb-lines,.sec-portfolio-b .pb-more__content{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-portfolio-b .pb-lines__col:last-child{ display:none; }
  .sec-portfolio-b .pb-more{ gap:50px; }
  .sec-portfolio-b .pb-more__aside{ grid-column:span 2; flex-direction:row; justify-content:center; height:auto; }
  .sec-portfolio-b .pb-more__content{ gap:50px 0; }
  .sec-portfolio-b .pb-title{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); padding:100px var(--page-pad) 60px; align-items:end; }
  .sec-portfolio-b .pb-title__counter,.sec-portfolio-b .pb-heading{ width:100%; flex:none; }
  .sec-portfolio-b .pb-awards{ height:auto; }
  .sec-portfolio-b .pb-awards__grid{ display:flex; flex-direction:column; align-items:center; height:auto; }
  .sec-portfolio-b .pb-award-wrap{ height:130px; }
  .sec-portfolio-b .pb-date{ padding:0 20px; bottom:20px; }
}
@media (max-width:809.98px){
  .sec-portfolio-b .pb-lines,.sec-portfolio-b .pb-more__content{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-portfolio-b .pb-lines__col:nth-child(2){ display:none; }
  .sec-portfolio-b .pb-more{ padding-top:120px; }
  .sec-portfolio-b .pb-more__content{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; }
  .sec-portfolio-b .pb-more__aside{ flex-direction:column; gap:20px; }
  .sec-portfolio-b .pb-btn-wrap{ width:100%; }
  .sec-portfolio-b .pb-btn{ width:100%; }
  .sec-portfolio-b .pb-list{ grid-column:auto; }
  .sec-portfolio-b .pb-title{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:100px var(--page-pad) 50px; }
  .sec-portfolio-b .pb-heading__h2{ font-size:60px; line-height:1; letter-spacing:-4px; }
  .sec-portfolio-b .pb-row__body{ grid-template-columns:1fr; gap:20px 0; }
  .sec-portfolio-b .pb-row__img{ width:100%; }
}
.sec-portfolio-b .pb-award__icon--reddot{ background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 32 32%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs %3E%3ClinearGradient id=%22WI0yaWBIH-1989528710-linear-gradient%22 x1=%220%22 x2=%221%22 y1=%220.8950252813165845%22 y2=%220.10497471868341546%22%3E%3Cstop offset=%220%22 stop-color=%22rgb(227, 6, 23)%22/%3E%3Cstop offset=%221%22 stop-color=%22rgba(227, 6, 23, 0)%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22Nr_Xk876v-1989528710-linear-gradient%22 x1=%220%22 x2=%221%22 y1=%220.881407536289185%22 y2=%220.118592463710815%22%3E%3Cstop offset=%220%22 stop-color=%22rgb(227, 6, 23)%22/%3E%3Cstop offset=%221%22 stop-color=%22rgba(227, 6, 23, 0)%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22aaFIx6R5Z-1989528710-linear-gradient%22 x1=%220%22 x2=%221%22 y1=%220.8892543674953486%22 y2=%220.11074563250465141%22%3E%3Cstop offset=%220%22 stop-color=%22rgb(227, 6, 23)%22/%3E%3Cstop offset=%221%22 stop-color=%22rgba(227, 6, 23, 0)%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22oumla97pS-1989528710-linear-gradient%22 x1=%221%22 x2=%220%22 y1=%220.1599585048344042%22 y2=%220.8400414951655958%22%3E%3Cstop offset=%220%22 stop-color=%22rgb(227, 6, 23)%22/%3E%3Cstop offset=%221%22 stop-color=%22rgba(227, 6, 23, 0)%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22S_v6EQXin-1989528710-linear-gradient%22 x1=%220%22 x2=%221%22 y1=%220.9226662633159506%22 y2=%220.07733373668404941%22%3E%3Cstop offset=%220%22 stop-color=%22rgb(227, 6, 23)%22/%3E%3Cstop offset=%221%22 stop-color=%22rgba(227, 6, 23, 0)%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg d=%22M 0.01 0 L 32 0 L 32 32 L 0.01 32 Z M 20.329 30.435 L 19.705 30.669 C 19.978 30.577 20.251 30.473 20.539 30.356 Z M 23.064 11.407 C 21.75 11.85 20.341 12.515 18.897 13.401 C 17.464 14.287 16.136 15.314 14.937 16.436 C 13.738 17.556 12.671 18.755 11.785 19.992 C 10.887 21.23 10.169 22.507 9.662 23.744 C 9.153 25.007 8.88 26.231 8.894 27.352 C 8.908 28.055 9.024 28.681 9.245 29.228 C 9.481 29.775 9.806 30.244 10.235 30.609 C 10.664 30.986 11.172 31.3 11.797 31.429 C 12.435 31.573 13.06 31.677 13.881 31.717 L 14.051 31.717 L 15.25 31.639 L 16.423 31.495 L 17.01 31.391 L 18.077 31.158 L 19.106 30.858 L 19.394 30.767 L 19.707 30.649 C 18.925 30.91 18.183 31.066 17.506 31.13 C 16.595 31.222 15.775 31.13 15.084 30.896 C 14.408 30.663 13.86 30.258 13.482 29.725 C 13.105 29.19 12.884 28.514 12.844 27.719 C 12.804 26.821 13 25.831 13.379 24.816 C 13.756 23.812 14.316 22.784 15.033 21.794 C 15.737 20.804 16.595 19.829 17.546 18.929 C 18.51 18.031 19.577 17.21 20.738 16.506 C 21.897 15.803 23.031 15.283 24.098 14.955 C 25.179 14.616 26.183 14.474 27.08 14.526 C 27.978 14.578 28.774 14.814 29.373 15.255 C 29.985 15.698 30.428 16.348 30.623 17.208 C 30.715 16.947 31.288 16.753 31.366 16.48 C 31.443 16.207 31.509 15.945 31.561 15.672 C 31.613 15.398 31.783 13.914 31.797 13.64 C 31.745 13.485 31.757 13.327 31.667 13.171 C 31.264 12.403 30.847 12.115 30.169 11.66 C 29.401 11.14 27.928 10.8 26.795 10.774 L 26.639 10.774 C 25.54 10.77 24.341 10.978 23.064 11.407 Z M 8.661 28.913 L 8.296 28.783 C 8.413 28.835 8.529 28.873 8.661 28.913 Z M 22.075 3.53 C 20.928 3.648 19.679 3.973 18.35 4.494 C 17.048 5.015 15.667 5.731 14.247 6.655 C 12.671 7.671 11.198 8.857 9.858 10.132 C 8.517 11.395 7.304 12.776 6.277 14.169 C 5.235 15.576 4.375 17.021 3.763 18.428 C 3.125 19.861 2.747 21.267 2.67 22.557 C 2.644 23.052 2.656 23.495 2.722 23.924 C 2.787 24.353 2.891 24.744 3.035 25.095 C 3.178 25.46 3.374 25.786 3.607 26.071 C 3.843 26.358 4.116 26.618 4.427 26.825 L 5.495 27.502 L 6.51 28.049 L 7.643 28.544 L 8.294 28.777 C 7.954 28.633 7.643 28.464 7.356 28.256 C 6.983 27.985 6.665 27.645 6.418 27.254 C 6.171 26.863 5.989 26.42 5.858 25.925 C 5.74 25.43 5.688 24.896 5.702 24.297 C 5.742 23.086 6.067 21.756 6.628 20.415 C 7.188 19.086 7.968 17.733 8.934 16.416 C 9.886 15.113 11.005 13.824 12.242 12.652 C 13.492 11.467 14.873 10.373 16.345 9.435 C 17.818 8.497 19.25 7.795 20.605 7.326 C 21.973 6.845 23.769 6.506 24.916 6.506 C 26.075 6.52 27.09 6.779 27.886 7.3 C 28.694 7.835 28.85 8.745 29.123 9.84 L 29.552 9.749 L 28.172 6.129 L 27.82 5.334 C 27.352 4.54 26.558 4.005 25.672 3.694 C 25.151 3.498 24.383 3.432 23.601 3.432 C 23.078 3.452 22.544 3.478 22.075 3.53 Z M 1.742 22.557 L 1.664 22.427 C 1.69 22.479 1.716 22.519 1.742 22.557 Z M 24.198 3.177 C 24.146 3.111 24.08 3.047 24.016 2.995 Z M 16.473 0.208 C 15.627 0.389 15.067 0.585 14.115 0.99 C 13.163 1.393 12.174 1.902 11.144 2.54 C 9.724 3.413 8.357 4.428 7.107 5.522 C 5.856 6.616 4.697 7.801 3.693 9.012 C 2.678 10.236 1.818 11.499 1.165 12.724 C 0.501 13.975 0.214 15.211 0.018 16.344 C -0.022 16.566 0.018 16.773 0.004 16.983 C -0.01 17.19 0.186 18.508 0.407 19.457 C 0.499 19.861 0.551 20.096 0.695 20.487 C 0.85 20.956 1.189 21.647 1.189 21.647 L 1.359 21.946 L 1.658 22.427 C 1.554 22.245 1.463 22.062 1.397 21.866 C 1.305 21.619 1.241 21.345 1.189 21.058 C 1.149 20.771 1.124 20.471 1.124 20.16 C 1.124 19.847 1.149 19.509 1.201 19.156 C 1.383 17.933 1.852 16.616 2.542 15.275 C 3.218 13.959 4.118 12.63 5.173 11.341 C 6.215 10.064 7.414 8.815 8.728 7.669 C 10.031 6.524 11.464 5.456 12.962 4.556 C 14.173 3.828 15.346 3.241 16.465 2.812 C 17.584 2.383 18.64 2.095 19.617 1.966 C 20.607 1.836 21.492 1.862 22.26 2.057 C 22.951 2.227 23.537 2.538 23.992 2.981 L 23.342 2.305 L 22.47 1.523 L 22.027 1.171 L 21.024 0.768 C 20.477 0.599 19.813 0.351 19.082 0.247 C 18.64 0.182 18.027 0.104 17.415 0.104 C 17.099 0.118 16.772 0.144 16.473 0.208 Z M 0.962 12.984 L 0.962 12.892 M 10.3 1.263 C 9.518 1.628 9.101 1.85 8.373 2.305 C 6.199 3.66 4.896 4.376 3.306 6.33 C 2.668 7.112 2.291 7.567 1.848 8.479 C 1.626 8.934 1.365 9.677 1.365 9.677 L 1.247 10.511 L 1.078 11.645 L 0.986 12.66 L 0.972 12.922 C 0.972 12.856 0.986 12.804 0.986 12.74 C 1 12.648 1 12.559 1.026 12.467 C 1.04 12.375 1.052 12.285 1.078 12.179 C 1.104 12.088 1.118 11.984 1.143 11.88 C 1.405 10.878 1.848 9.823 2.55 8.651 C 3.332 7.348 3.919 6.685 4.998 5.642 C 6.065 4.6 6.781 3.844 8.072 2.894 C 8.854 2.321 10.767 1.11 11.9 0.954 C 11.978 0.94 12.004 0.94 11.978 0.94 C 11.865 0.912 10.769 1.028 10.3 1.263 Z M 22.44 28.743 C 22.179 28.665 21.985 28.536 21.842 28.34 C 21.698 28.144 21.62 27.911 21.62 27.624 C 21.62 27.336 21.698 27.037 21.842 26.726 C 21.985 26.412 22.181 26.101 22.428 25.814 C 22.675 25.514 22.975 25.241 23.3 24.979 C 23.625 24.732 23.99 24.51 24.367 24.329 C 24.744 24.159 25.109 24.041 25.448 23.99 C 25.788 23.938 26.087 23.95 26.346 24.015 C 26.606 24.081 26.829 24.211 26.971 24.381 C 27.126 24.562 27.218 24.798 27.232 25.071 C 27.246 25.359 27.18 25.67 27.05 25.983 C 26.921 26.296 26.711 26.622 26.464 26.933 C 26.217 27.246 25.903 27.532 25.566 27.805 C 25.227 28.067 24.85 28.3 24.459 28.47 C 24.068 28.651 23.691 28.757 23.34 28.795 C 23.222 28.809 23.104 28.821 22.989 28.821 C 22.791 28.821 22.61 28.795 22.44 28.743 Z M 26.921 20.603 C 26.608 20.603 26.282 20.629 25.931 20.695 C 25.241 20.812 24.499 21.046 23.717 21.411 C 22.935 21.776 22.207 22.231 21.542 22.74 C 20.878 23.261 20.265 23.834 19.759 24.433 C 19.25 25.031 18.821 25.67 18.522 26.308 C 18.223 26.947 18.039 27.572 18.013 28.17 C 17.987 28.769 18.131 29.278 18.404 29.681 C 18.677 30.084 19.094 30.384 19.615 30.553 C 20.136 30.735 20.774 30.775 21.49 30.697 C 22.207 30.605 22.975 30.188 23.809 29.825 C 24.654 29.448 25.293 28.913 26.035 28.354 C 26.765 27.793 27.404 27.195 27.936 26.53 C 28.471 25.865 29.004 25.37 29.331 24.72 C 29.722 23.938 29.903 23.365 29.851 22.78 C 29.811 22.193 29.5 21.738 29.175 21.373 C 28.85 21.022 28.355 20.826 27.807 20.709 C 27.533 20.643 27.246 20.617 26.935 20.617 C 26.933 20.603 26.921 20.603 26.921 20.603 Z M 17.453 2.083 C 17.297 2.592 16.944 3.151 16.449 3.698 C 15.94 4.259 15.276 4.831 14.508 5.364 C 13.688 5.936 12.821 6.436 11.916 6.861 C 10.979 7.304 9.989 7.681 8.986 7.969 C 7.996 8.242 7.11 8.386 6.342 8.424 C 5.586 8.45 4.962 8.372 4.479 8.19 C 4.01 8.008 3.697 7.735 3.567 7.356 C 3.438 6.991 3.464 6.548 3.697 6.027 C 3.763 5.871 3.853 5.713 3.958 5.558 C 3.978 5.526 4 5.496 4.02 5.464 C 4.104 5.336 4.192 5.203 4.298 5.077 C 4.427 4.921 4.571 4.752 4.715 4.596 C 4.752 4.558 4.792 4.518 4.83 4.478 C 4.95 4.356 5.072 4.233 5.209 4.115 L 5.678 3.698 C 6.368 3.137 7.11 2.616 7.879 2.161 L 8.296 1.928 C 8.296 1.928 7.45 2.578 7.033 3.099 C 6.797 3.399 6.616 3.646 6.498 3.907 C 6.394 4.155 6.38 4.376 6.458 4.546 C 6.536 4.716 6.706 4.845 6.941 4.923 C 7.174 5.001 7.502 5.041 7.867 5.015 C 8.244 4.989 8.675 4.911 9.155 4.782 C 9.638 4.638 10.119 4.456 10.576 4.235 C 11.031 4.013 11.462 3.766 11.839 3.506 C 12.216 3.245 12.543 2.971 12.802 2.698 C 13.064 2.425 13.245 2.151 13.337 1.904 C 13.429 1.656 13.415 1.449 13.311 1.279 C 13.207 1.124 13.024 1.006 12.776 0.928 C 12.529 0.862 12.216 0.876 11.851 0.942 C 11.745 0.962 11.629 0.98 11.511 0.998 C 11.236 1.04 10.931 1.086 10.614 1.177 C 10.314 1.269 10.145 1.333 9.858 1.465 C 10.729 1.01 11.252 0.8 12.202 0.501 C 12.814 0.305 13.231 0.202 13.792 0.098 C 14.442 -0.02 14.991 -0.006 15.485 0.032 C 15.98 0.072 16.411 0.176 16.736 0.345 C 17.062 0.515 17.309 0.736 17.427 1.022 C 17.556 1.329 17.568 1.68 17.453 2.083 Z M 29.724 23.882 C 29.702 23.916 29.682 23.948 29.66 23.98 C 29.588 24.161 29.426 24.556 29.281 24.82 C 29.097 25.147 28.746 25.602 28.746 25.602 L 28.551 25.863 C 28.329 26.149 27.964 26.566 27.964 26.566 L 27.481 27.101 C 26.975 27.622 26.4 28.116 25.776 28.597 C 25.118 29.08 24.431 29.519 23.717 29.913 C 22.987 30.318 22.205 30.669 21.411 30.968 C 20.617 31.268 19.797 31.515 18.963 31.685 C 18.793 31.725 18.636 31.751 18.48 31.776 L 18.011 31.854 C 17.937 31.866 17.863 31.874 17.792 31.884 C 17.71 31.894 17.63 31.904 17.554 31.918 C 17.399 31.932 17.255 31.946 17.111 31.958 L 16.214 31.998 L 16.018 31.998 L 15.055 31.972 L 14.077 31.88 C 14.077 31.88 13.907 31.854 13.804 31.84 C 13.401 31.788 13.165 31.751 12.762 31.659 C 12.345 31.581 11.721 31.411 11.721 31.411 L 11.2 31.23 L 11.057 31.164 C 11.422 31.308 11.916 31.449 12.385 31.515 C 12.868 31.593 13.389 31.633 13.935 31.633 C 14.482 31.647 15.069 31.607 15.667 31.555 C 16.279 31.489 16.906 31.385 17.556 31.256 C 19.055 30.944 20.553 30.435 21.959 29.811 C 23.38 29.186 24.708 28.43 25.893 27.584 C 27.078 26.751 28.108 25.826 28.954 24.876 C 29.213 24.58 29.442 24.305 29.658 23.984 L 29.696 23.886 C 29.696 23.886 29.708 23.86 29.724 23.882 Z M 23.16 1.664 L 23.525 1.86 C 23.813 2.018 24.074 2.199 24.281 2.395 C 24.503 2.604 24.672 2.824 24.802 3.085 C 24.932 3.345 25.01 3.632 25.049 3.931 C 25.089 4.245 25.063 4.584 24.998 4.935 C 24.802 5.887 24.253 6.915 23.408 7.945 C 22.548 8.998 21.389 10.066 20.008 11.07 C 18.614 12.086 17.012 13.037 15.306 13.858 C 13.588 14.678 11.777 15.354 9.953 15.823 C 8.325 16.24 6.853 16.462 5.564 16.488 C 4.302 16.514 3.232 16.372 2.386 16.059 C 1.566 15.76 0.954 15.303 0.603 14.73 C 0.264 14.169 0.16 13.479 0.316 12.684 L 0.393 12.345 L 0.693 11.225 L 1.07 10.144 L 1.461 9.232 L 1.812 8.489 L 1.746 8.633 L 1.732 8.659 C 1.395 9.401 1.329 10.052 1.499 10.587 C 1.68 11.136 2.111 11.577 2.761 11.864 C 3.426 12.163 4.323 12.307 5.405 12.293 C 6.498 12.281 7.787 12.086 9.233 11.694 C 10.68 11.303 12.124 10.756 13.492 10.106 C 14.861 9.455 16.138 8.699 17.257 7.905 C 18.364 7.11 19.314 6.278 20.018 5.444 C 20.722 4.624 21.191 3.816 21.387 3.073 C 21.478 2.696 21.49 2.345 21.439 2.032 C 21.373 1.72 21.243 1.445 21.048 1.211 C 20.852 0.976 20.593 0.78 20.279 0.625 C 20.07 0.521 19.837 0.429 19.575 0.351 L 19.184 0.247 L 19.208 0.251 C 19.364 0.275 19.452 0.287 19.575 0.325 C 19.575 0.325 19.952 0.415 20.2 0.481 C 20.539 0.613 21.059 0.794 21.059 0.794 L 22.115 1.185 Z M 28.066 5.496 L 28.848 6.486 L 29.564 7.541 L 29.877 8.076 C 29.969 8.246 30.059 8.416 30.113 8.611 C 30.179 8.793 30.23 8.988 30.268 9.184 C 30.306 9.373 30.32 9.589 30.332 9.791 L 30.334 9.809 C 30.334 10.03 30.322 10.252 30.294 10.485 C 30.139 11.696 29.538 12.986 28.575 14.301 C 27.585 15.63 26.23 16.971 24.603 18.22 C 22.949 19.483 21.034 20.655 18.977 21.645 C 16.906 22.634 14.705 23.429 12.503 23.95 C 10.927 24.315 9.469 24.522 8.152 24.574 C 6.849 24.626 5.69 24.522 4.701 24.287 C 3.723 24.053 2.917 23.7 2.291 23.231 C 1.678 22.776 1.235 22.201 0.988 21.551 L 0.74 20.834 L 0.401 19.611 L 0.168 18.374 L 0.116 18.023 L 0.05 17.332 C 0.142 17.997 0.415 18.569 0.87 19.05 C 1.379 19.597 2.121 20.014 3.059 20.288 C 4.01 20.575 5.169 20.705 6.498 20.653 C 7.853 20.613 9.377 20.391 11.031 19.988 C 13.115 19.479 15.186 18.711 17.139 17.787 C 19.092 16.849 20.916 15.756 22.48 14.584 C 24.03 13.413 25.333 12.175 26.282 10.95 C 27.22 9.739 27.807 8.553 27.988 7.446 C 28.04 7.132 28.054 6.847 28.04 6.56 C 28.026 6.286 27.974 6.025 27.896 5.777 C 27.818 5.53 27.715 5.308 27.571 5.087 C 27.511 4.985 27.433 4.893 27.354 4.796 C 27.33 4.768 27.308 4.738 27.284 4.71 L 27.934 5.4 Z M 30.386 20.928 C 29.512 22.191 28.301 23.455 26.843 24.614 C 25.371 25.788 23.651 26.867 21.776 27.753 C 19.912 28.651 17.919 29.356 15.914 29.785 C 14.873 30.006 13.883 30.148 12.958 30.214 C 12.034 30.28 11.174 30.266 10.392 30.188 C 9.61 30.11 8.908 29.952 8.27 29.745 C 7.645 29.535 7.099 29.262 6.642 28.937 L 5.678 28.18 L 4.87 27.452 C 4.87 27.452 4.323 26.917 3.998 26.54 C 3.763 26.281 3.438 25.837 3.438 25.837 C 3.815 26.267 4.272 26.632 4.844 26.931 C 5.52 27.284 6.314 27.558 7.24 27.713 C 8.178 27.883 9.233 27.935 10.392 27.883 C 11.563 27.829 12.84 27.648 14.195 27.348 C 16.369 26.853 18.546 26.083 20.577 25.107 C 22.608 24.131 24.483 22.972 26.099 21.709 C 27.687 20.459 29.015 19.118 29.967 17.763 C 30.905 16.448 31.479 15.119 31.609 13.882 C 31.621 13.752 31.635 13.62 31.635 13.49 C 31.635 13.361 31.623 13.231 31.609 13.113 C 31.597 12.984 31.779 13.674 31.779 13.674 C 31.779 13.674 31.882 14.299 31.922 14.69 C 32.012 15.694 32.052 16.266 31.882 17.256 C 31.635 18.779 31.232 19.679 30.386 20.928 Z%22 fill=%22transparent%22 id=%22yWyS8O_aq%22 transform=%22translate(0.17 0)%22%3E%3Cpath d=%22M 0 0 L 31.99 0 L 31.99 32 L 0 32 Z%22 fill=%22transparent%22 id=%22gyStRAdqZ%22 transform=%22translate(0.01 0)%22/%3E%3Cpath d=%22M 11.436 19.661 L 10.811 19.895 C 11.085 19.803 11.358 19.699 11.645 19.581 Z M 14.171 0.633 C 12.856 1.076 11.448 1.74 10.003 2.626 C 8.571 3.512 7.242 4.54 6.043 5.662 C 4.844 6.781 3.777 7.981 2.891 9.218 C 1.994 10.455 1.275 11.732 0.769 12.97 C 0.26 14.233 -0.013 15.456 0.001 16.578 C 0.014 17.28 0.13 17.907 0.352 18.454 C 0.587 19 0.912 19.469 1.341 19.835 C 1.77 20.212 2.279 20.525 2.903 20.655 C 3.542 20.799 4.166 20.902 4.988 20.942 L 5.158 20.942 L 6.357 20.864 L 7.53 20.721 L 8.116 20.617 L 9.183 20.383 L 10.213 20.084 L 10.5 19.992 L 10.813 19.875 C 10.031 20.136 9.289 20.292 8.613 20.356 C 7.701 20.447 6.881 20.356 6.191 20.122 C 5.515 19.889 4.966 19.483 4.589 18.951 C 4.212 18.416 3.99 17.739 3.951 16.945 C 3.911 16.047 4.106 15.057 4.485 14.041 C 4.862 13.038 5.423 12.01 6.139 11.02 C 6.843 10.03 7.701 9.054 8.653 8.154 C 9.616 7.256 10.684 6.436 11.845 5.732 C 13.004 5.029 14.137 4.508 15.204 4.181 C 16.286 3.842 17.289 3.7 18.187 3.752 C 19.085 3.804 19.881 4.039 20.479 4.48 C 21.092 4.923 21.534 5.574 21.73 6.434 C 21.822 6.173 22.394 5.979 22.472 5.706 C 22.55 5.432 22.616 5.171 22.668 4.897 C 22.719 4.624 22.889 3.139 22.903 2.866 C 22.851 2.71 22.863 2.552 22.773 2.397 C 22.37 1.628 21.953 1.341 21.275 0.886 C 20.507 0.365 19.035 0.026 17.902 0 L 17.746 0 C 16.647 -0.004 15.448 0.204 14.171 0.633 Z%22 fill=%22url(%23WI0yaWBIH-1989528710-linear-gradient)%22 id=%22WI0yaWBIH%22 transform=%22translate(8.894 10.774)%22/%3E%3Cpath d=%22M 6.004 25.48 L 5.639 25.351 C 5.756 25.402 5.872 25.44 6.004 25.48 Z M 19.418 0.098 C 18.271 0.216 17.022 0.541 15.693 1.062 C 14.391 1.583 13.01 2.299 11.59 3.223 C 10.014 4.239 8.541 5.424 7.201 6.699 C 5.86 7.963 4.647 9.344 3.62 10.737 C 2.578 12.143 1.718 13.588 1.106 14.995 C 0.468 16.428 0.091 17.835 0.013 19.124 C -0.013 19.619 -0.001 20.062 0.065 20.491 C 0.13 20.92 0.234 21.311 0.378 21.663 C 0.521 22.028 0.717 22.353 0.95 22.638 C 1.186 22.926 1.459 23.185 1.77 23.393 L 2.838 24.069 L 3.853 24.616 L 4.986 25.111 L 5.637 25.345 C 5.297 25.201 4.986 25.031 4.699 24.824 C 4.326 24.552 4.008 24.212 3.761 23.822 C 3.514 23.431 3.332 22.988 3.201 22.493 C 3.083 21.998 3.031 21.463 3.045 20.864 C 3.085 19.653 3.41 18.324 3.971 16.983 C 4.531 15.654 5.311 14.301 6.277 12.984 C 7.229 11.68 8.348 10.391 9.585 9.22 C 10.836 8.034 12.216 6.941 13.688 6.003 C 15.161 5.065 16.593 4.362 17.948 3.893 C 19.316 3.413 21.112 3.073 22.259 3.073 C 23.418 3.087 24.433 3.347 25.229 3.868 C 26.037 4.402 26.193 5.312 26.466 6.408 L 26.895 6.316 L 25.515 2.696 L 25.164 1.902 C 24.695 1.108 23.901 0.573 23.015 0.261 C 22.494 0.066 21.726 0 20.944 0 C 20.421 0.02 19.887 0.046 19.418 0.098 Z%22 fill=%22url(%23Nr_Xk876v-1989528710-linear-gradient)%22 id=%22Nr_Xk876v%22 transform=%22translate(2.657 3.432)%22/%3E%3Cpath d=%22M 1.742 22.453 L 1.664 22.323 C 1.69 22.375 1.716 22.415 1.742 22.453 Z M 24.198 3.073 C 24.146 3.007 24.08 2.944 24.016 2.892 Z M 16.473 0.104 C 15.627 0.285 15.067 0.481 14.115 0.886 C 13.163 1.289 12.174 1.798 11.144 2.437 C 9.724 3.309 8.357 4.325 7.107 5.418 C 5.856 6.512 4.697 7.697 3.693 8.909 C 2.678 10.132 1.818 11.395 1.165 12.62 C 0.501 13.872 0.214 15.107 0.018 16.24 C -0.022 16.462 0.018 16.67 0.004 16.879 C -0.01 17.087 0.186 18.404 0.407 19.354 C 0.499 19.757 0.551 19.992 0.695 20.383 C 0.85 20.852 1.189 21.543 1.189 21.543 L 1.359 21.842 L 1.658 22.323 C 1.554 22.142 1.463 21.958 1.397 21.762 C 1.305 21.515 1.241 21.242 1.189 20.954 C 1.149 20.667 1.124 20.367 1.124 20.056 C 1.124 19.743 1.149 19.406 1.201 19.052 C 1.383 17.829 1.852 16.512 2.542 15.171 C 3.218 13.856 4.118 12.527 5.173 11.237 C 6.215 9.96 7.414 8.711 8.728 7.565 C 10.031 6.42 11.464 5.352 12.962 4.452 C 14.173 3.724 15.346 3.137 16.465 2.708 C 17.584 2.279 18.64 1.992 19.617 1.862 C 20.607 1.732 21.492 1.758 22.26 1.954 C 22.951 2.123 23.537 2.435 23.992 2.878 L 23.342 2.201 L 22.47 1.419 L 22.027 1.068 L 21.024 0.665 C 20.477 0.495 19.813 0.247 19.082 0.144 C 18.64 0.078 18.027 0 17.415 0 C 17.099 0.014 16.772 0.04 16.473 0.104 Z%22 fill=%22url(%23aaFIx6R5Z-1989528710-linear-gradient)%22 id=%22aaFIx6R5Z%22 transform=%22translate(0 0.104)%22/%3E%3Cpath d=%22M 0 12.048 L 0 11.956 M 9.339 0.327 C 8.557 0.693 8.14 0.914 7.411 1.369 C 5.237 2.724 3.934 3.441 2.344 5.394 C 1.706 6.177 1.329 6.632 0.886 7.544 C 0.664 7.999 0.403 8.741 0.403 8.741 L 0.285 9.575 L 0.116 10.709 L 0.024 11.724 L 0.01 11.986 C 0.01 11.92 0.024 11.868 0.024 11.804 C 0.038 11.712 0.038 11.623 0.064 11.531 C 0.078 11.439 0.09 11.349 0.116 11.244 C 0.142 11.152 0.156 11.048 0.182 10.944 C 0.443 9.942 0.886 8.887 1.588 7.715 C 2.37 6.412 2.957 5.75 4.036 4.706 C 5.103 3.664 5.819 2.908 7.11 1.958 C 7.892 1.385 9.805 0.174 10.939 0.018 C 11.016 0.004 11.042 0.004 11.016 0.004 C 10.903 -0.024 9.807 0.092 9.339 0.327 Z%22 fill=%22url(%23oumla97pS-1989528710-linear-gradient)%22 id=%22oumla97pS%22 transform=%22translate(0.962 0.936)%22/%3E%3Cpath d=%22M 4.43 8.14 C 4.169 8.062 3.975 7.933 3.831 7.737 C 3.688 7.542 3.61 7.308 3.61 7.021 C 3.61 6.733 3.688 6.434 3.831 6.123 C 3.975 5.809 4.171 5.498 4.418 5.211 C 4.665 4.911 4.965 4.638 5.29 4.376 C 5.615 4.129 5.98 3.907 6.357 3.726 C 6.734 3.556 7.099 3.438 7.438 3.387 C 7.777 3.335 8.077 3.347 8.336 3.413 C 8.595 3.478 8.819 3.608 8.961 3.778 C 9.116 3.959 9.208 4.195 9.222 4.468 C 9.236 4.756 9.17 5.067 9.04 5.38 C 8.911 5.694 8.701 6.019 8.454 6.33 C 8.206 6.643 7.893 6.929 7.556 7.202 C 7.217 7.464 6.84 7.697 6.449 7.867 C 6.058 8.048 5.681 8.154 5.33 8.192 C 5.212 8.206 5.094 8.218 4.978 8.218 C 4.781 8.218 4.599 8.192 4.43 8.14 Z M 8.911 0 C 8.597 0 8.272 0.026 7.921 0.092 C 7.231 0.21 6.489 0.443 5.707 0.808 C 4.925 1.173 4.196 1.628 3.532 2.137 C 2.868 2.658 2.255 3.231 1.749 3.83 C 1.24 4.428 0.811 5.067 0.512 5.706 C 0.212 6.344 0.029 6.969 0.003 7.567 C -0.023 8.166 0.121 8.675 0.394 9.078 C 0.667 9.481 1.084 9.781 1.605 9.95 C 2.126 10.132 2.764 10.172 3.48 10.094 C 4.196 10.002 4.965 9.585 5.798 9.222 C 6.644 8.845 7.283 8.31 8.025 7.751 C 8.755 7.19 9.393 6.592 9.926 5.927 C 10.461 5.262 10.993 4.768 11.321 4.117 C 11.712 3.335 11.893 2.762 11.841 2.177 C 11.801 1.591 11.49 1.136 11.165 0.77 C 10.84 0.419 10.345 0.224 9.796 0.106 C 9.523 0.04 9.236 0.014 8.925 0.014 C 8.923 0 8.911 0 8.911 0 Z%22 fill=%22url(%23S_v6EQXin-1989528710-linear-gradient)%22 id=%22S_v6EQXin%22 transform=%22translate(18.01 20.603)%22/%3E%3Cpath d=%22M 17.402 2.079 C 17.247 2.588 16.894 3.146 16.399 3.693 C 15.89 4.254 15.226 4.827 14.458 5.359 C 13.638 5.931 12.771 6.432 11.866 6.856 C 10.929 7.299 9.939 7.676 8.936 7.964 C 7.946 8.237 7.06 8.381 6.292 8.419 C 5.536 8.445 4.912 8.367 4.429 8.185 C 3.96 8.004 3.647 7.73 3.517 7.351 C 3.387 6.986 3.413 6.543 3.647 6.022 C 3.713 5.866 3.802 5.709 3.908 5.553 C 3.928 5.521 3.95 5.491 3.97 5.459 C 4.054 5.332 4.142 5.198 4.247 5.072 C 4.377 4.916 4.521 4.747 4.664 4.591 C 4.702 4.553 4.742 4.513 4.78 4.473 C 4.9 4.352 5.021 4.228 5.159 4.11 L 5.628 3.693 C 6.318 3.132 7.06 2.611 7.828 2.156 L 8.245 1.923 C 8.245 1.923 7.399 2.574 6.982 3.094 C 6.747 3.394 6.566 3.641 6.448 3.903 C 6.344 4.15 6.33 4.372 6.408 4.541 C 6.486 4.711 6.655 4.841 6.891 4.918 C 7.124 4.996 7.451 5.036 7.816 5.01 C 8.193 4.984 8.624 4.906 9.105 4.777 C 9.588 4.633 10.069 4.451 10.526 4.23 C 10.98 4.008 11.411 3.761 11.788 3.502 C 12.165 3.24 12.493 2.967 12.752 2.693 C 13.013 2.42 13.195 2.146 13.287 1.899 C 13.378 1.652 13.364 1.444 13.261 1.274 C 13.157 1.119 12.973 1.001 12.726 0.923 C 12.479 0.857 12.165 0.871 11.8 0.937 C 11.695 0.957 11.579 0.975 11.461 0.993 C 11.186 1.035 10.881 1.081 10.563 1.173 C 10.264 1.264 10.095 1.328 9.807 1.46 C 10.679 1.005 11.202 0.795 12.151 0.496 C 12.764 0.301 13.181 0.197 13.741 0.093 C 14.392 -0.025 14.94 -0.011 15.435 0.027 C 15.93 0.067 16.361 0.171 16.686 0.34 C 17.011 0.51 17.259 0.732 17.376 1.017 C 17.506 1.324 17.518 1.676 17.402 2.079 Z M 29.673 23.877 C 29.652 23.911 29.632 23.943 29.61 23.975 C 29.538 24.156 29.376 24.551 29.231 24.815 C 29.047 25.142 28.696 25.597 28.696 25.597 L 28.5 25.859 C 28.279 26.144 27.914 26.561 27.914 26.561 L 27.431 27.096 C 26.924 27.617 26.35 28.112 25.725 28.593 C 25.068 29.075 24.38 29.514 23.667 29.908 C 22.936 30.313 22.154 30.664 21.36 30.963 C 20.566 31.263 19.746 31.51 18.913 31.68 C 18.743 31.72 18.585 31.746 18.43 31.772 L 17.961 31.85 C 17.887 31.862 17.813 31.869 17.741 31.879 C 17.66 31.889 17.58 31.899 17.504 31.913 C 17.348 31.927 17.205 31.941 17.061 31.953 L 16.163 31.993 L 15.968 31.993 L 15.004 31.967 L 14.027 31.875 C 14.027 31.875 13.857 31.85 13.753 31.836 C 13.35 31.784 13.115 31.746 12.712 31.654 C 12.295 31.576 11.671 31.406 11.671 31.406 L 11.15 31.225 L 11.006 31.159 C 11.371 31.303 11.866 31.444 12.335 31.51 C 12.818 31.588 13.339 31.628 13.885 31.628 C 14.432 31.642 15.018 31.602 15.617 31.55 C 16.229 31.484 16.856 31.381 17.506 31.251 C 19.004 30.94 20.503 30.431 21.909 29.806 C 23.329 29.181 24.658 28.425 25.843 27.579 C 27.028 26.747 28.058 25.821 28.903 24.871 C 29.163 24.575 29.392 24.3 29.608 23.979 L 29.646 23.881 C 29.646 23.881 29.658 23.855 29.673 23.877 Z M 23.11 1.66 L 23.475 1.855 C 23.762 2.013 24.024 2.194 24.231 2.39 C 24.453 2.6 24.622 2.819 24.752 3.08 C 24.882 3.34 24.959 3.627 24.999 3.927 C 25.039 4.24 25.013 4.579 24.947 4.93 C 24.752 5.882 24.203 6.91 23.357 7.94 C 22.498 8.994 21.338 10.061 19.958 11.065 C 18.563 12.081 16.961 13.033 15.256 13.853 C 13.538 14.673 11.727 15.35 9.903 15.819 C 8.275 16.236 6.803 16.457 5.514 16.483 C 4.251 16.509 3.182 16.367 2.336 16.054 C 1.516 15.755 0.904 15.298 0.553 14.725 C 0.213 14.164 0.11 13.474 0.265 12.679 L 0.343 12.34 L 0.642 11.221 L 1.019 10.139 L 1.41 9.227 L 1.762 8.485 L 1.696 8.628 L 1.682 8.654 C 1.345 9.397 1.279 10.047 1.448 10.582 C 1.63 11.131 2.061 11.572 2.711 11.859 C 3.376 12.159 4.273 12.302 5.355 12.288 C 6.448 12.276 7.737 12.081 9.183 11.69 C 10.629 11.298 12.074 10.752 13.442 10.101 C 14.811 9.451 16.088 8.694 17.207 7.9 C 18.314 7.106 19.264 6.273 19.968 5.439 C 20.672 4.619 21.141 3.811 21.336 3.068 C 21.428 2.691 21.44 2.34 21.388 2.027 C 21.322 1.715 21.193 1.44 20.997 1.207 C 20.802 0.971 20.542 0.776 20.229 0.62 C 20.02 0.516 19.786 0.424 19.525 0.346 L 19.134 0.243 L 19.158 0.247 C 19.314 0.271 19.401 0.283 19.525 0.32 C 19.525 0.32 19.902 0.41 20.149 0.476 C 20.489 0.608 21.009 0.789 21.009 0.789 L 22.065 1.181 Z M 28.016 5.491 L 28.798 6.481 L 29.514 7.537 L 29.827 8.072 C 29.919 8.241 30.009 8.411 30.063 8.606 C 30.128 8.788 30.18 8.984 30.218 9.179 C 30.256 9.369 30.27 9.584 30.282 9.786 L 30.284 9.804 C 30.284 10.025 30.272 10.247 30.244 10.48 C 30.088 11.692 29.488 12.981 28.524 14.296 C 27.535 15.625 26.18 16.966 24.552 18.215 C 22.899 19.479 20.983 20.65 18.926 21.64 C 16.856 22.63 14.655 23.424 12.453 23.945 C 10.877 24.31 9.418 24.518 8.102 24.569 C 6.799 24.621 5.64 24.518 4.65 24.282 C 3.673 24.049 2.867 23.695 2.24 23.226 C 1.628 22.771 1.185 22.197 0.938 21.546 L 0.69 20.83 L 0.351 19.606 L 0.118 18.369 L 0.066 18.018 L 0 17.327 C 0.092 17.992 0.365 18.565 0.82 19.046 C 1.329 19.592 2.071 20.009 3.008 20.283 C 3.96 20.57 5.119 20.7 6.448 20.648 C 7.802 20.608 9.327 20.387 10.98 19.983 C 13.065 19.475 15.136 18.706 17.089 17.782 C 19.042 16.844 20.866 15.751 22.43 14.579 C 23.98 13.408 25.283 12.171 26.232 10.945 C 27.17 9.734 27.756 8.548 27.938 7.441 C 27.99 7.128 28.004 6.842 27.99 6.555 C 27.976 6.281 27.924 6.02 27.846 5.773 C 27.768 5.525 27.665 5.304 27.521 5.082 C 27.461 4.98 27.383 4.889 27.303 4.791 C 27.28 4.763 27.258 4.733 27.234 4.705 L 27.884 5.395 Z M 30.336 20.923 C 29.462 22.187 28.251 23.45 26.793 24.609 C 25.32 25.783 23.601 26.862 21.725 27.748 C 19.862 28.647 17.869 29.351 15.864 29.78 C 14.823 30.002 13.833 30.143 12.908 30.209 C 11.984 30.275 11.124 30.261 10.342 30.183 C 9.56 30.105 8.858 29.948 8.219 29.74 C 7.595 29.531 7.048 29.257 6.591 28.932 L 5.628 28.176 L 4.82 27.447 C 4.82 27.447 4.273 26.912 3.948 26.535 C 3.713 26.276 3.387 25.833 3.387 25.833 C 3.765 26.262 4.221 26.627 4.794 26.926 C 5.47 27.28 6.264 27.553 7.19 27.709 C 8.128 27.878 9.183 27.93 10.342 27.878 C 11.513 27.824 12.79 27.643 14.144 27.343 C 16.319 26.848 18.496 26.078 20.526 25.102 C 22.557 24.126 24.433 22.967 26.049 21.704 C 27.637 20.454 28.965 19.113 29.917 17.758 C 30.855 16.443 31.429 15.114 31.559 13.877 C 31.571 13.747 31.585 13.615 31.585 13.486 C 31.585 13.356 31.573 13.226 31.559 13.109 C 31.547 12.979 31.728 13.669 31.728 13.669 C 31.728 13.669 31.832 14.294 31.872 14.685 C 31.962 15.689 32.002 16.262 31.832 17.251 C 31.585 18.774 31.182 19.674 30.336 20.923 Z%22 fill=%22rgb(229, 0, 18)%22 id=%22YQGK43ZEb%22 transform=%22translate(0.05 0.005)%22/%3E%3C/g%3E%3C/svg%3E"); }
.sec-portfolio-b .pb-award__icon--awwwards{ background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 54 13%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg d=%22M 30.653 0 L 28.356 8.852 L 26.14 0 L 23.15 0 L 20.96 8.852 L 19.145 3.699 L 18.931 4.333 L 17.89 7.636 L 19.545 12.894 L 22.402 12.894 L 24.645 4.571 L 26.888 12.894 L 29.718 12.894 L 33.883 0 Z M 46.166 0 L 43.843 8.852 L 41.627 0 L 38.636 0 L 36.473 8.852 L 34.631 3.699 L 34.417 4.333 L 33.376 7.636 L 35.058 12.894 L 37.889 12.894 L 40.131 4.571 L 42.374 12.894 L 45.205 12.894 L 49.397 0 Z M 18.477 0 L 14.312 12.868 L 11.481 12.868 L 9.238 4.545 L 6.996 12.921 L 4.165 12.921 L 0 0.053 L 3.258 0.053 L 5.58 8.878 L 7.797 0.053 L 10.76 0.053 L 12.977 8.878 L 15.3 0.053 Z M 51.837 8.72 C 53.092 8.72 54 9.618 54 10.86 C 54 12.102 53.092 13 51.837 13 C 50.582 13 49.674 12.102 49.674 10.86 C 49.674 9.618 50.609 8.72 51.837 8.72 Z%22 fill=%22transparent%22 id=%22TZsXP4rJe%22%3E%3Cpath d=%22M 12.763 0 L 10.467 8.852 L 8.251 0 L 5.26 0 L 3.071 8.852 L 1.255 3.699 L 1.041 4.333 L 0 7.636 L 1.655 12.894 L 4.512 12.894 L 6.755 4.571 L 8.998 12.894 L 11.828 12.894 L 15.994 0 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22lIWnuJyja%22 transform=%22translate(17.89 0)%22/%3E%3Cpath d=%22M 12.79 0 L 10.467 8.852 L 8.251 0 L 5.26 0 L 3.097 8.852 L 1.255 3.699 L 1.041 4.333 L 0 7.636 L 1.682 12.894 L 4.512 12.894 L 6.755 4.571 L 8.998 12.894 L 11.828 12.894 L 16.021 0 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22cgyUcYNUx%22 transform=%22translate(33.376 0)%22/%3E%3Cpath d=%22M 18.477 0 L 14.312 12.868 L 11.481 12.868 L 9.238 4.545 L 6.996 12.921 L 4.165 12.921 L 0 0.053 L 3.258 0.053 L 5.58 8.878 L 7.797 0.053 L 10.76 0.053 L 12.977 8.878 L 15.3 0.053 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22NfnvbjwbP%22 transform=%22translate(0 0)%22/%3E%3Cpath d=%22M 2.163 0 C 3.418 0 4.326 0.898 4.326 2.14 C 4.326 3.382 3.418 4.28 2.163 4.28 C 0.908 4.28 0 3.382 0 2.14 C 0 0.898 0.935 0 2.163 0 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22cvIQ_RBu5%22 transform=%22translate(49.674 8.72)%22/%3E%3C/g%3E%3C/svg%3E"); }
.sec-portfolio-b .pb-award__icon--if{ background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 31 31%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg d=%22M 0 31 L 31 31 L 31 0 L 0 0 Z M 20.014 12.971 L 24.974 12.971 L 24.974 17.931 L 20.014 17.931 Z M 13.401 6.358 L 18.361 6.358 L 18.361 24.544 L 13.401 24.544 Z M 20.014 6.352 L 24.974 6.352 L 24.974 11.312 L 20.014 11.312 Z M 12.079 8.832 C 12.079 10.385 10.82 11.644 9.267 11.644 C 7.714 11.644 6.456 10.385 6.456 8.832 C 6.456 7.279 7.714 6.021 9.267 6.021 C 10.82 6.021 12.079 7.279 12.079 8.832 Z M 6.798 12.966 L 11.758 12.966 L 11.758 24.544 L 6.798 24.544 Z%22 fill=%22transparent%22 id=%22CSM0VGtjI%22%3E%3Cpath d=%22M 0 31 L 31 31 L 31 0 L 0 0 Z%22 fill=%22rgb(237, 29, 38)%22 id=%22qMoA5cqud%22 stroke-dasharray=%22%22 stroke-linecap=%22butt%22 stroke-linejoin=%22miter%22 stroke-miterlimit=%2210%22 stroke-width=%222.94%22 stroke=%22rgb(237, 29, 38)%22/%3E%3Cpath d=%22M 13.558 6.951 L 18.518 6.951 L 18.518 11.911 L 13.558 11.911 Z M 6.945 0.337 L 11.905 0.337 L 11.905 18.524 L 6.945 18.524 Z M 13.558 0.332 L 18.518 0.332 L 18.518 5.292 L 13.558 5.292 Z M 5.624 2.812 C 5.624 4.365 4.365 5.624 2.812 5.624 C 1.259 5.624 0 4.365 0 2.812 C 0 1.259 1.259 0 2.812 0 C 4.365 0 5.624 1.259 5.624 2.812 Z M 0.343 6.945 L 5.303 6.945 L 5.303 18.524 L 0.343 18.524 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22WSzHjqpEx%22 transform=%22translate(6.456 6.021)%22/%3E%3C/g%3E%3C/svg%3E"); }
.sec-portfolio-b .pb-row__logo--goodwell{ background-image:url("data:image/svg+xml,%3Csvg viewBox=%220 0 74 19%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg d=%22M 13.014 0 L 13.014 2.88 L 10.363 2.88 C 10.803 3.689 11.033 4.595 11.032 5.516 C 11.032 8.563 8.562 11.032 5.516 11.032 C 2.47 11.032 0 8.563 0 5.516 C 0 2.47 2.469 0 5.515 0 Z M 5.515 8.152 C 6.971 8.152 8.151 6.972 8.151 5.516 C 8.151 4.06 6.971 2.881 5.515 2.881 C 4.06 2.881 2.88 4.06 2.88 5.516 C 2.88 6.972 4.06 8.152 5.515 8.152 Z M 5.515 19.105 C 4.488 19.105 3.557 18.913 2.721 18.528 C 1.886 18.159 1.22 17.639 0.722 16.966 C 0.24 16.293 0 15.524 0 14.659 C 0 13.986 0.096 13.433 0.289 13 C 0.481 12.567 0.77 12.15 1.156 11.75 L 3.541 13.288 C 3.384 13.428 3.26 13.6 3.179 13.793 C 3.099 13.986 3.059 14.226 3.059 14.514 C 3.059 15.043 3.275 15.459 3.709 15.764 C 4.154 16.081 4.756 16.241 5.516 16.245 C 6.275 16.241 6.878 16.081 7.323 15.764 C 7.756 15.459 7.973 15.043 7.973 14.514 C 7.973 14.226 7.933 13.986 7.853 13.793 C 7.772 13.6 7.648 13.427 7.491 13.288 L 9.876 11.75 C 10.261 12.15 10.55 12.567 10.743 13 C 10.935 13.433 11.032 13.985 11.032 14.659 C 11.032 15.524 10.791 16.293 10.309 16.966 C 9.812 17.639 9.145 18.159 8.31 18.528 C 7.476 18.913 6.543 19.105 5.515 19.105 Z M 42.593 12.332 C 42.313 11.8 42.173 11.193 42.173 10.512 C 42.173 9.831 42.313 9.224 42.593 8.692 C 42.867 8.176 43.273 7.741 43.769 7.432 C 44.273 7.124 44.847 6.97 45.491 6.97 C 45.958 6.97 46.378 7.058 46.751 7.236 C 46.935 7.321 47.109 7.426 47.269 7.552 L 47.269 3.75 L 49.411 3.75 L 49.411 13.914 L 47.311 13.914 L 47.311 13.414 C 47.143 13.554 46.96 13.675 46.765 13.774 C 46.383 13.961 45.958 14.054 45.491 14.054 C 44.847 14.054 44.273 13.9 43.769 13.592 C 43.273 13.283 42.867 12.848 42.593 12.332 Z M 47.199 11.352 C 47.33 11.109 47.395 10.829 47.395 10.512 C 47.395 10.194 47.33 9.919 47.199 9.686 C 47.078 9.443 46.901 9.252 46.667 9.112 C 46.443 8.972 46.182 8.902 45.883 8.902 C 45.585 8.902 45.319 8.972 45.085 9.112 C 44.861 9.252 44.679 9.443 44.539 9.686 C 44.408 9.928 44.343 10.204 44.343 10.512 C 44.343 10.82 44.409 11.095 44.539 11.338 C 44.67 11.58 44.852 11.772 45.085 11.912 C 45.319 12.052 45.58 12.122 45.869 12.122 C 46.177 12.122 46.443 12.056 46.667 11.926 C 46.892 11.785 47.075 11.587 47.199 11.352 Z M 19.136 13.676 C 19.771 13.937 20.447 14.068 21.166 14.068 C 22.146 14.068 23.01 13.863 23.756 13.452 C 24.512 13.041 25.1 12.435 25.52 11.632 C 25.95 10.82 26.164 9.821 26.164 8.636 L 26.164 8.314 L 20.97 8.314 L 20.97 10.176 L 23.81 10.221 C 23.758 10.419 23.684 10.611 23.588 10.792 C 23.379 11.197 23.052 11.529 22.65 11.744 C 22.249 11.959 21.759 12.066 21.18 12.066 C 20.611 12.066 20.106 11.935 19.668 11.674 C 19.229 11.412 18.87 11.034 18.632 10.582 C 18.38 10.115 18.254 9.574 18.254 8.958 C 18.254 8.342 18.38 7.805 18.632 7.348 C 18.881 6.893 19.255 6.519 19.71 6.27 C 20.168 6.009 20.685 5.878 21.264 5.878 C 21.805 5.878 22.291 5.981 22.72 6.186 C 23.149 6.391 23.522 6.699 23.84 7.11 L 25.338 5.612 C 24.88 5.071 24.302 4.646 23.602 4.338 C 22.911 4.03 22.142 3.876 21.292 3.876 C 20.554 3.876 19.864 4.007 19.22 4.268 C 18.589 4.511 18.014 4.878 17.526 5.346 C 17.05 5.803 16.677 6.34 16.406 6.956 C 16.135 7.572 16 8.239 16 8.958 C 16 9.677 16.13 10.349 16.392 10.974 C 16.656 11.58 17.031 12.131 17.498 12.598 C 17.97 13.059 18.526 13.425 19.136 13.676 Z M 27.062 12.318 C 26.736 11.777 26.572 11.17 26.572 10.498 C 26.572 9.826 26.736 9.224 27.062 8.692 C 27.386 8.162 27.845 7.727 28.392 7.432 C 28.952 7.115 29.587 6.956 30.296 6.956 C 31.006 6.956 31.64 7.11 32.2 7.418 C 32.76 7.726 33.204 8.151 33.53 8.692 C 33.857 9.224 34.02 9.826 34.02 10.498 C 34.02 11.17 33.857 11.777 33.53 12.318 C 33.207 12.856 32.748 13.3 32.2 13.606 C 31.64 13.914 31.006 14.068 30.296 14.068 C 29.596 14.068 28.962 13.914 28.392 13.606 C 27.844 13.3 27.385 12.856 27.062 12.318 Z M 31.64 11.352 C 31.771 11.1 31.836 10.816 31.836 10.498 C 31.836 10.181 31.771 9.906 31.64 9.672 C 31.51 9.429 31.328 9.243 31.094 9.112 C 30.87 8.972 30.604 8.902 30.296 8.902 C 29.998 8.902 29.732 8.972 29.498 9.112 C 29.266 9.242 29.076 9.436 28.952 9.672 C 28.822 9.915 28.756 10.195 28.756 10.512 C 28.752 10.804 28.819 11.092 28.952 11.352 C 29.078 11.59 29.267 11.788 29.498 11.926 C 29.732 12.057 29.998 12.122 30.296 12.122 C 30.604 12.122 30.875 12.057 31.108 11.926 C 31.337 11.79 31.522 11.591 31.64 11.352 Z M 38.082 14.068 C 37.382 14.068 36.747 13.914 36.178 13.606 C 35.63 13.3 35.172 12.856 34.848 12.318 C 34.522 11.777 34.358 11.17 34.358 10.498 C 34.358 9.826 34.522 9.224 34.848 8.692 C 35.175 8.16 35.618 7.74 36.178 7.432 C 36.738 7.115 37.373 6.956 38.082 6.956 C 38.791 6.956 39.426 7.11 39.986 7.418 C 40.546 7.726 40.99 8.151 41.316 8.692 C 41.643 9.224 41.806 9.826 41.806 10.498 C 41.806 11.17 41.643 11.777 41.316 12.318 C 40.993 12.856 40.535 13.3 39.986 13.606 C 39.426 13.914 38.791 14.068 38.082 14.068 Z M 38.082 12.122 C 38.39 12.122 38.661 12.057 38.894 11.926 C 39.128 11.786 39.305 11.595 39.426 11.352 C 39.557 11.1 39.622 10.815 39.622 10.498 C 39.622 10.181 39.557 9.906 39.426 9.672 C 39.303 9.436 39.113 9.242 38.88 9.112 C 38.656 8.972 38.39 8.902 38.082 8.902 C 37.784 8.902 37.517 8.972 37.284 9.112 C 37.051 9.243 36.869 9.429 36.738 9.672 C 36.608 9.915 36.542 10.195 36.542 10.512 C 36.542 10.82 36.607 11.1 36.738 11.352 C 36.869 11.595 37.051 11.786 37.284 11.926 C 37.518 12.057 37.784 12.122 38.082 12.122 Z M 55.383 9.994 L 54.041 13.914 L 52.305 13.914 L 49.953 7.11 L 52.053 7.11 L 53.218 11.065 L 54.503 7.11 L 56.239 7.11 L 57.531 11.051 L 58.703 7.11 L 60.803 7.11 L 58.451 13.914 L 56.701 13.914 Z M 61.27 12.318 C 60.944 11.777 60.78 11.17 60.78 10.498 C 60.78 9.826 60.939 9.224 61.256 8.692 C 61.581 8.162 62.04 7.727 62.586 7.432 C 63.156 7.115 63.795 6.956 64.504 6.956 C 65.251 6.956 65.886 7.129 66.408 7.474 C 66.931 7.81 67.328 8.295 67.598 8.93 L 64.092 12.318 C 64.286 12.374 64.493 12.402 64.714 12.402 C 65.05 12.402 65.349 12.346 65.61 12.234 C 65.881 12.113 66.124 11.931 66.338 11.688 L 67.514 12.864 C 67.162 13.257 66.727 13.568 66.24 13.774 C 65.764 13.97 65.232 14.068 64.644 14.068 C 63.888 14.068 63.221 13.914 62.642 13.606 C 62.064 13.289 61.606 12.859 61.27 12.318 Z M 64.518 8.664 C 64.154 8.664 63.842 8.739 63.58 8.888 C 63.319 9.028 63.118 9.233 62.978 9.504 C 62.838 9.765 62.768 10.073 62.768 10.428 C 62.764 10.722 62.817 11.014 62.924 11.288 L 65.416 8.888 C 65.187 8.739 64.888 8.664 64.518 8.664 Z M 68.29 13.914 L 68.29 3.75 L 70.432 3.75 L 70.432 13.914 Z M 71.661 3.75 L 71.661 13.914 L 73.803 13.914 L 73.803 3.75 Z%22 fill=%22transparent%22 id=%22xKlfcPPh4%22%3E%3Cpath d=%22M 13.014 0 L 13.014 2.88 L 10.363 2.88 C 10.803 3.689 11.033 4.595 11.032 5.516 C 11.032 8.563 8.562 11.032 5.516 11.032 C 2.47 11.032 0 8.563 0 5.516 C 0 2.47 2.469 0 5.515 0 Z M 5.515 8.152 C 6.971 8.152 8.151 6.972 8.151 5.516 C 8.151 4.06 6.971 2.881 5.515 2.881 C 4.06 2.881 2.88 4.06 2.88 5.516 C 2.88 6.972 4.06 8.152 5.515 8.152 Z%22 fill=%22rgba(255, 255, 255, 0.7)%22 id=%22DjtCsaIb_%22%3E%3C/path%3E%3Cg opacity=%220.7%22%3E%3Cpath d=%22M 5.515 7.355 C 4.488 7.355 3.557 7.163 2.721 6.778 C 1.886 6.409 1.22 5.889 0.722 5.216 C 0.24 4.543 0 3.774 0 2.909 C 0 2.236 0.096 1.683 0.289 1.25 C 0.481 0.817 0.77 0.4 1.156 0 L 3.541 1.538 C 3.384 1.678 3.26 1.85 3.179 2.043 C 3.099 2.236 3.059 2.476 3.059 2.764 C 3.059 3.293 3.275 3.709 3.709 4.014 C 4.154 4.331 4.756 4.491 5.516 4.495 C 6.275 4.491 6.878 4.331 7.323 4.014 C 7.756 3.709 7.973 3.293 7.973 2.764 C 7.973 2.476 7.933 2.236 7.853 2.043 C 7.772 1.85 7.648 1.677 7.491 1.538 L 9.876 0 C 10.261 0.4 10.55 0.817 10.743 1.25 C 10.935 1.683 11.032 2.235 11.032 2.909 C 11.032 3.774 10.791 4.543 10.309 5.216 C 9.812 5.889 9.145 6.409 8.31 6.778 C 7.476 7.163 6.543 7.355 5.515 7.355 Z%22 fill=%22rgba(255, 255, 255, 0.7)%22 id=%22eUORePQu0%22 transform=%22translate(0 11.75)%22%3E%3C/path%3E%3C/g%3E%3Cg d=%22M 26.593 8.582 C 26.313 8.05 26.173 7.443 26.173 6.762 C 26.173 6.081 26.313 5.474 26.593 4.942 C 26.867 4.426 27.273 3.991 27.769 3.682 C 28.273 3.374 28.847 3.22 29.491 3.22 C 29.958 3.22 30.378 3.308 30.751 3.486 C 30.935 3.571 31.109 3.676 31.269 3.802 L 31.269 0 L 33.411 0 L 33.411 10.164 L 31.311 10.164 L 31.311 9.664 C 31.143 9.804 30.96 9.925 30.765 10.024 C 30.383 10.211 29.958 10.304 29.491 10.304 C 28.847 10.304 28.273 10.15 27.769 9.842 C 27.273 9.533 26.867 9.098 26.593 8.582 Z M 31.199 7.602 C 31.33 7.359 31.395 7.079 31.395 6.762 C 31.395 6.444 31.33 6.169 31.199 5.936 C 31.078 5.693 30.901 5.502 30.667 5.362 C 30.443 5.222 30.182 5.152 29.883 5.152 C 29.585 5.152 29.319 5.222 29.085 5.362 C 28.861 5.502 28.679 5.693 28.539 5.936 C 28.408 6.178 28.343 6.454 28.343 6.762 C 28.343 7.07 28.409 7.345 28.539 7.588 C 28.67 7.83 28.852 8.022 29.085 8.162 C 29.319 8.302 29.58 8.372 29.869 8.372 C 30.177 8.372 30.443 8.306 30.667 8.176 C 30.892 8.035 31.075 7.837 31.199 7.602 Z M 3.136 9.926 C 3.771 10.187 4.447 10.318 5.166 10.318 C 6.146 10.318 7.01 10.113 7.756 9.702 C 8.512 9.291 9.1 8.685 9.52 7.882 C 9.95 7.07 10.164 6.071 10.164 4.886 L 10.164 4.564 L 4.97 4.564 L 4.97 6.426 L 7.81 6.471 C 7.758 6.669 7.684 6.861 7.588 7.042 C 7.379 7.447 7.052 7.779 6.65 7.994 C 6.249 8.209 5.759 8.316 5.18 8.316 C 4.611 8.316 4.106 8.185 3.668 7.924 C 3.229 7.662 2.87 7.284 2.632 6.832 C 2.38 6.365 2.254 5.824 2.254 5.208 C 2.254 4.592 2.38 4.055 2.632 3.598 C 2.881 3.143 3.255 2.769 3.71 2.52 C 4.168 2.259 4.685 2.128 5.264 2.128 C 5.805 2.128 6.291 2.231 6.72 2.436 C 7.149 2.641 7.522 2.949 7.84 3.36 L 9.338 1.862 C 8.88 1.321 8.302 0.896 7.602 0.588 C 6.911 0.28 6.142 0.126 5.292 0.126 C 4.554 0.126 3.864 0.257 3.22 0.518 C 2.589 0.761 2.014 1.128 1.526 1.596 C 1.05 2.053 0.677 2.59 0.406 3.206 C 0.135 3.822 0 4.489 0 5.208 C 0 5.927 0.13 6.599 0.392 7.224 C 0.656 7.83 1.031 8.381 1.498 8.848 C 1.97 9.309 2.526 9.675 3.136 9.926 Z M 11.062 8.568 C 10.736 8.027 10.572 7.42 10.572 6.748 C 10.572 6.076 10.736 5.474 11.062 4.942 C 11.386 4.412 11.845 3.977 12.392 3.682 C 12.952 3.365 13.587 3.206 14.296 3.206 C 15.006 3.206 15.64 3.36 16.2 3.668 C 16.76 3.976 17.204 4.401 17.53 4.942 C 17.857 5.474 18.02 6.076 18.02 6.748 C 18.02 7.42 17.857 8.027 17.53 8.568 C 17.207 9.106 16.748 9.55 16.2 9.856 C 15.64 10.164 15.006 10.318 14.296 10.318 C 13.596 10.318 12.962 10.164 12.392 9.856 C 11.844 9.55 11.385 9.106 11.062 8.568 Z M 15.64 7.602 C 15.771 7.35 15.836 7.066 15.836 6.748 C 15.836 6.431 15.771 6.156 15.64 5.922 C 15.51 5.679 15.328 5.493 15.094 5.362 C 14.87 5.222 14.604 5.152 14.296 5.152 C 13.998 5.152 13.732 5.222 13.498 5.362 C 13.266 5.492 13.076 5.686 12.952 5.922 C 12.822 6.165 12.756 6.445 12.756 6.762 C 12.752 7.054 12.819 7.342 12.952 7.602 C 13.078 7.84 13.267 8.038 13.498 8.176 C 13.732 8.307 13.998 8.372 14.296 8.372 C 14.604 8.372 14.875 8.307 15.108 8.176 C 15.337 8.04 15.522 7.841 15.64 7.602 Z M 22.082 10.318 C 21.382 10.318 20.747 10.164 20.178 9.856 C 19.63 9.55 19.172 9.106 18.848 8.568 C 18.522 8.027 18.358 7.42 18.358 6.748 C 18.358 6.076 18.522 5.474 18.848 4.942 C 19.175 4.41 19.618 3.99 20.178 3.682 C 20.738 3.365 21.373 3.206 22.082 3.206 C 22.791 3.206 23.426 3.36 23.986 3.668 C 24.546 3.976 24.99 4.401 25.316 4.942 C 25.643 5.474 25.806 6.076 25.806 6.748 C 25.806 7.42 25.643 8.027 25.316 8.568 C 24.993 9.106 24.535 9.55 23.986 9.856 C 23.426 10.164 22.791 10.318 22.082 10.318 Z M 22.082 8.372 C 22.39 8.372 22.661 8.307 22.894 8.176 C 23.128 8.036 23.305 7.845 23.426 7.602 C 23.557 7.35 23.622 7.065 23.622 6.748 C 23.622 6.431 23.557 6.156 23.426 5.922 C 23.303 5.686 23.113 5.492 22.88 5.362 C 22.656 5.222 22.39 5.152 22.082 5.152 C 21.784 5.152 21.517 5.222 21.284 5.362 C 21.051 5.493 20.869 5.679 20.738 5.922 C 20.608 6.165 20.542 6.445 20.542 6.762 C 20.542 7.07 20.607 7.35 20.738 7.602 C 20.869 7.845 21.051 8.036 21.284 8.176 C 21.518 8.307 21.784 8.372 22.082 8.372 Z M 39.383 6.244 L 38.041 10.164 L 36.305 10.164 L 33.953 3.36 L 36.053 3.36 L 37.218 7.315 L 38.503 3.36 L 40.239 3.36 L 41.531 7.301 L 42.703 3.36 L 44.803 3.36 L 42.451 10.164 L 40.701 10.164 Z M 45.27 8.568 C 44.944 8.027 44.78 7.42 44.78 6.748 C 44.78 6.076 44.939 5.474 45.256 4.942 C 45.581 4.412 46.04 3.977 46.586 3.682 C 47.156 3.365 47.795 3.206 48.504 3.206 C 49.251 3.206 49.886 3.379 50.408 3.724 C 50.931 4.06 51.328 4.545 51.598 5.18 L 48.092 8.568 C 48.286 8.624 48.493 8.652 48.714 8.652 C 49.05 8.652 49.349 8.596 49.61 8.484 C 49.881 8.363 50.124 8.181 50.338 7.938 L 51.514 9.114 C 51.162 9.507 50.727 9.818 50.24 10.024 C 49.764 10.22 49.232 10.318 48.644 10.318 C 47.888 10.318 47.221 10.164 46.642 9.856 C 46.064 9.539 45.606 9.109 45.27 8.568 Z M 48.518 4.914 C 48.154 4.914 47.842 4.989 47.58 5.138 C 47.319 5.278 47.118 5.483 46.978 5.754 C 46.838 6.015 46.768 6.323 46.768 6.678 C 46.764 6.972 46.817 7.264 46.924 7.538 L 49.416 5.138 C 49.187 4.989 48.888 4.914 48.518 4.914 Z M 52.29 10.164 L 52.29 0 L 54.432 0 L 54.432 10.164 Z M 55.661 0 L 55.661 10.164 L 57.803 10.164 L 57.803 0 Z%22 fill=%22transparent%22 id=%22WW4Bar2Ml%22 transform=%22translate(16 3.75)%22%3E%3Cpath d=%22M 0.42 8.582 C 0.14 8.05 0 7.443 0 6.762 C 0 6.081 0.14 5.474 0.42 4.942 C 0.694 4.426 1.1 3.991 1.596 3.682 C 2.1 3.374 2.674 3.22 3.318 3.22 C 3.784 3.22 4.204 3.308 4.578 3.486 C 4.762 3.571 4.936 3.676 5.096 3.802 L 5.096 0 L 7.238 0 L 7.238 10.164 L 5.138 10.164 L 5.138 9.664 C 4.97 9.804 4.787 9.925 4.592 10.024 C 4.209 10.211 3.784 10.304 3.318 10.304 C 2.674 10.304 2.1 10.15 1.596 9.842 C 1.1 9.533 0.694 9.098 0.42 8.582 Z M 5.026 7.602 C 5.157 7.359 5.222 7.079 5.222 6.762 C 5.222 6.444 5.156 6.169 5.026 5.936 C 4.904 5.693 4.727 5.502 4.494 5.362 C 4.27 5.222 4.008 5.152 3.71 5.152 C 3.411 5.152 3.145 5.222 2.912 5.362 C 2.688 5.502 2.506 5.693 2.366 5.936 C 2.235 6.178 2.17 6.454 2.17 6.762 C 2.17 7.07 2.235 7.345 2.366 7.588 C 2.497 7.83 2.678 8.022 2.912 8.162 C 3.145 8.302 3.406 8.372 3.696 8.372 C 4.004 8.372 4.27 8.306 4.494 8.176 C 4.719 8.035 4.902 7.837 5.026 7.602 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22dFnlgLlok%22 transform=%22translate(26.173 0)%22%3E%3C/path%3E%3Cpath d=%22M 3.136 9.8 C 3.771 10.061 4.447 10.192 5.166 10.192 C 6.146 10.192 7.01 9.987 7.756 9.576 C 8.512 9.165 9.1 8.558 9.52 7.756 C 9.95 6.944 10.164 5.945 10.164 4.76 L 10.164 4.438 L 4.97 4.438 L 4.97 6.3 L 7.81 6.345 C 7.758 6.543 7.684 6.735 7.588 6.916 C 7.379 7.321 7.052 7.653 6.65 7.868 C 6.249 8.083 5.759 8.19 5.18 8.19 C 4.611 8.19 4.106 8.059 3.668 7.798 C 3.229 7.536 2.87 7.158 2.632 6.706 C 2.38 6.239 2.254 5.698 2.254 5.082 C 2.254 4.466 2.38 3.929 2.632 3.472 C 2.881 3.017 3.255 2.643 3.71 2.394 C 4.168 2.132 4.685 2.002 5.264 2.002 C 5.805 2.002 6.291 2.105 6.72 2.31 C 7.149 2.515 7.522 2.823 7.84 3.234 L 9.338 1.736 C 8.88 1.195 8.302 0.77 7.602 0.462 C 6.911 0.154 6.142 0 5.292 0 C 4.554 0 3.864 0.13 3.22 0.392 C 2.589 0.635 2.014 1.002 1.526 1.47 C 1.05 1.927 0.677 2.464 0.406 3.08 C 0.135 3.696 0 4.363 0 5.082 C 0 5.8 0.13 6.472 0.392 7.098 C 0.656 7.704 1.031 8.255 1.498 8.722 C 1.97 9.183 2.526 9.549 3.136 9.8 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22ylvellai8%22 transform=%22translate(0 0.126)%22%3E%3C/path%3E%3Cpath d=%22M 0.49 5.362 C 0.163 4.821 0 4.214 0 3.542 C 0 2.87 0.163 2.268 0.49 1.736 C 0.814 1.206 1.273 0.771 1.82 0.476 C 2.38 0.159 3.015 0 3.724 0 C 4.433 0 5.068 0.154 5.628 0.462 C 6.188 0.77 6.631 1.195 6.958 1.736 C 7.285 2.268 7.448 2.87 7.448 3.542 C 7.448 4.214 7.285 4.821 6.958 5.362 C 6.635 5.9 6.176 6.344 5.628 6.65 C 5.068 6.958 4.433 7.112 3.724 7.112 C 3.024 7.112 2.389 6.958 1.82 6.65 C 1.272 6.344 0.813 5.9 0.49 5.362 Z M 5.068 4.396 C 5.199 4.144 5.264 3.859 5.264 3.542 C 5.264 3.224 5.199 2.949 5.068 2.716 C 4.937 2.473 4.755 2.286 4.522 2.156 C 4.298 2.016 4.032 1.946 3.724 1.946 C 3.425 1.946 3.159 2.016 2.926 2.156 C 2.694 2.286 2.504 2.48 2.38 2.716 C 2.249 2.958 2.184 3.238 2.184 3.556 C 2.18 3.848 2.247 4.136 2.38 4.396 C 2.506 4.634 2.695 4.832 2.926 4.97 C 3.159 5.101 3.425 5.166 3.724 5.166 C 4.032 5.166 4.303 5.1 4.536 4.97 C 4.765 4.834 4.95 4.635 5.068 4.396 Z M 11.51 7.112 C 10.81 7.112 10.175 6.958 9.606 6.65 C 9.058 6.344 8.6 5.9 8.276 5.362 C 7.95 4.821 7.786 4.214 7.786 3.542 C 7.786 2.87 7.95 2.268 8.276 1.736 C 8.603 1.204 9.046 0.784 9.606 0.476 C 10.166 0.159 10.801 0 11.51 0 C 12.219 0 12.854 0.154 13.414 0.462 C 13.974 0.77 14.418 1.195 14.744 1.736 C 15.071 2.268 15.234 2.87 15.234 3.542 C 15.234 4.214 15.071 4.821 14.744 5.362 C 14.421 5.9 13.963 6.344 13.414 6.65 C 12.854 6.958 12.219 7.112 11.51 7.112 Z M 11.51 5.166 C 11.818 5.166 12.089 5.101 12.322 4.97 C 12.556 4.83 12.733 4.638 12.854 4.396 C 12.985 4.144 13.05 3.859 13.05 3.542 C 13.05 3.224 12.985 2.949 12.854 2.716 C 12.731 2.48 12.541 2.286 12.308 2.156 C 12.084 2.016 11.818 1.946 11.51 1.946 C 11.212 1.946 10.945 2.016 10.712 2.156 C 10.479 2.286 10.297 2.473 10.166 2.716 C 10.036 2.958 9.97 3.238 9.97 3.556 C 9.97 3.864 10.035 4.144 10.166 4.396 C 10.297 4.638 10.479 4.83 10.712 4.97 C 10.946 5.1 11.212 5.166 11.51 5.166 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22wFYbsNe7m%22 transform=%22translate(10.572 3.206)%22%3E%3C/path%3E%3Cpath d=%22M 5.43 2.884 L 4.088 6.804 L 2.352 6.804 L 0 0 L 2.1 0 L 3.265 3.955 L 4.55 0 L 6.286 0 L 7.578 3.942 L 8.75 0 L 10.85 0 L 8.498 6.804 L 6.748 6.804 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22o8w9Xth7q%22 transform=%22translate(33.953 3.36)%22%3E%3C/path%3E%3Cpath d=%22M 0.49 5.362 C 0.163 4.821 0 4.214 0 3.542 C 0 2.87 0.159 2.268 0.476 1.736 C 0.801 1.206 1.259 0.771 1.806 0.476 C 2.375 0.159 3.015 0 3.724 0 C 4.471 0 5.106 0.173 5.628 0.518 C 6.151 0.854 6.548 1.339 6.818 1.974 L 3.312 5.361 C 3.505 5.418 3.712 5.446 3.934 5.446 C 4.27 5.446 4.569 5.39 4.83 5.278 C 5.101 5.157 5.343 4.975 5.558 4.732 L 6.734 5.908 C 6.381 6.301 5.946 6.612 5.46 6.818 C 4.984 7.014 4.452 7.112 3.864 7.112 C 3.108 7.112 2.441 6.958 1.862 6.65 C 1.284 6.332 0.826 5.903 0.49 5.362 Z M 3.738 1.708 C 3.374 1.708 3.061 1.782 2.8 1.932 C 2.539 2.072 2.338 2.277 2.198 2.548 C 2.058 2.809 1.988 3.117 1.988 3.471 C 1.984 3.766 2.037 4.058 2.143 4.331 L 4.636 1.932 C 4.407 1.783 4.108 1.708 3.738 1.708 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22r8cYnud9k%22 transform=%22translate(44.78 3.206)%22%3E%3C/path%3E%3Cpath d=%22M 0 10.164 L 0 0 L 2.142 0 L 2.142 10.164 Z M 3.371 0 L 3.371 10.164 L 5.513 10.164 L 5.513 0 Z%22 fill=%22rgb(255, 255, 255)%22 id=%22m4Azoh7s6%22 transform=%22translate(52.29 0)%22%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.sec-portfolio-b .pb-row__logo--lightspeed{ background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 103 15' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 6.429 C 0 9.979 2.882 12.857 6.438 12.857 L 6.438 6.429 C 6.438 9.979 9.32 12.857 12.875 12.857 L 12.875 6.429 C 12.875 9.979 15.757 12.857 19.313 12.857 C 22.868 12.857 25.75 9.979 25.75 6.429 C 25.75 2.878 22.868 0 19.313 0 C 15.757 0 12.875 2.878 12.875 6.429 L 12.875 0 C 9.32 0 6.438 2.878 6.438 6.429 L 6.438 0 C 2.882 0 0 2.878 0 6.429 Z M 31.115 11.25 L 31.115 1.414 L 33.432 1.414 L 33.432 9.37 L 37.763 9.37 L 37.763 11.25 Z M 38.587 2.687 L 38.587 0.836 L 40.803 0.836 L 40.803 2.687 Z M 38.587 11.25 L 38.587 3.468 L 40.803 3.468 L 40.803 11.25 Z M 44.872 11.264 C 42.902 11.264 41.67 9.731 41.67 7.258 C 41.67 4.669 42.931 3.222 44.872 3.222 C 45.741 3.222 46.422 3.555 46.899 4.192 L 46.899 3.469 L 49.115 3.469 L 49.115 11.51 C 49.115 13.593 47.638 14.678 45.596 14.678 C 43.611 14.678 42.177 13.81 41.902 11.915 L 44.118 11.915 C 44.205 12.61 44.8 12.986 45.567 12.986 C 46.363 12.986 46.899 12.624 46.899 11.539 L 46.899 10.237 C 46.407 10.918 45.712 11.264 44.872 11.264 Z M 45.408 9.471 C 46.392 9.471 46.899 8.69 46.899 7.243 C 46.899 5.811 46.378 5.016 45.408 5.016 C 44.451 5.016 43.945 5.797 43.945 7.258 C 43.945 8.675 44.451 9.471 45.407 9.471 Z M 50.328 11.25 L 50.328 0.836 L 52.544 0.836 L 52.544 4.495 C 53.051 3.627 53.848 3.222 54.804 3.222 C 56.296 3.222 57.411 4.134 57.411 6.057 L 57.411 11.25 L 55.195 11.25 L 55.195 6.506 C 55.195 5.522 54.804 5.016 53.993 5.016 C 53.109 5.016 52.544 5.782 52.544 6.781 L 52.544 11.25 Z M 58.914 8.719 L 58.914 5.146 L 57.958 5.146 L 57.958 3.468 L 58.914 3.468 L 58.914 1.661 L 61.131 1.661 L 61.131 3.469 L 62.724 3.469 L 62.724 5.147 L 61.131 5.147 L 61.131 8.444 C 61.131 9.197 61.333 9.616 62.289 9.616 L 62.709 9.616 L 62.709 11.279 C 62.463 11.395 61.971 11.482 61.377 11.482 C 59.711 11.482 58.914 10.527 58.914 8.719 Z M 65.353 5.623 C 65.353 7.157 70.177 5.811 70.177 8.892 C 70.177 10.426 68.757 11.481 66.73 11.481 C 64.76 11.481 63.34 10.614 63.05 8.69 L 65.267 8.69 C 65.368 9.414 65.962 9.804 66.787 9.804 C 67.57 9.804 67.961 9.5 67.961 9.022 C 67.961 7.518 63.239 8.863 63.239 5.739 C 63.239 4.437 64.296 3.222 66.382 3.222 C 68.25 3.222 69.67 4.076 69.887 6.043 L 67.685 6.043 C 67.555 5.247 67.092 4.915 66.309 4.915 C 65.73 4.915 65.353 5.204 65.353 5.623 Z M 73.218 14.447 L 71.002 14.447 L 71.002 3.468 L 73.218 3.468 L 73.218 4.278 C 73.696 3.598 74.362 3.223 75.173 3.223 C 77.187 3.223 78.447 4.799 78.447 7.345 C 78.447 9.992 77.158 11.481 75.173 11.481 C 74.348 11.481 73.681 11.134 73.218 10.469 Z M 74.71 5.016 C 73.725 5.016 73.218 5.841 73.218 7.345 C 73.218 8.848 73.739 9.688 74.71 9.688 C 75.666 9.688 76.173 8.863 76.173 7.345 C 76.173 5.84 75.651 5.016 74.71 5.016 Z M 86.67 8.69 C 86.265 10.483 84.816 11.481 82.904 11.481 C 80.485 11.481 78.993 9.919 78.993 7.359 C 78.993 4.713 80.5 3.222 82.817 3.222 C 85.149 3.222 86.612 4.771 86.612 7.316 L 86.612 7.807 L 81.253 7.807 C 81.369 9.051 81.948 9.717 82.904 9.717 C 83.628 9.717 84.121 9.399 84.353 8.69 Z M 82.817 4.987 C 81.992 4.987 81.47 5.523 81.297 6.535 L 84.324 6.535 C 84.15 5.523 83.628 4.987 82.817 4.987 Z M 94.881 8.69 C 94.476 10.483 93.027 11.481 91.115 11.481 C 88.696 11.481 87.205 9.919 87.205 7.359 C 87.205 4.713 88.711 3.222 91.028 3.222 C 93.36 3.222 94.823 4.771 94.823 7.316 L 94.823 7.807 L 89.464 7.807 C 89.58 9.051 90.159 9.717 91.115 9.717 C 91.84 9.717 92.332 9.399 92.564 8.69 Z M 91.028 4.987 C 90.203 4.987 89.681 5.523 89.508 6.535 L 92.535 6.535 C 92.361 5.523 91.84 4.987 91.028 4.987 Z M 98.675 11.481 C 96.676 11.481 95.416 9.919 95.416 7.359 C 95.416 4.713 96.705 3.222 98.675 3.222 C 99.501 3.222 100.167 3.569 100.645 4.235 L 100.645 0.836 L 102.861 0.836 L 102.861 11.25 L 100.645 11.25 L 100.645 10.426 C 100.167 11.106 99.486 11.481 98.675 11.481 Z M 99.153 9.688 C 100.138 9.688 100.645 8.878 100.645 7.359 C 100.645 5.855 100.124 5.016 99.153 5.016 C 98.197 5.016 97.69 5.841 97.69 7.359 C 97.69 8.863 98.212 9.688 99.153 9.688 Z' fill='rgb(255, 255, 255)' id='oiEk56A3J'/%3E%3C/svg%3E"); }
.sec-portfolio-b .pb-row__logo--three{ background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 94 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg d='M 17.654 0 L 0 0 L 2.522 5.029 L 17.654 5.029 C 20.439 5.029 22.698 7.28 22.698 10.057 C 22.698 12.834 20.439 15.086 17.654 15.086 C 21.832 15.086 25.22 11.709 25.22 7.543 C 25.22 3.377 21.832 0 17.654 0 Z M 12.02 13.639 C 11.181 11.967 12.4 10 14.275 10 L 17.76 10 C 19.153 10 20.282 11.126 20.282 12.514 C 20.282 13.903 19.153 15.029 17.76 15.029 L 14.275 15.029 C 13.32 15.028 12.447 14.491 12.02 13.639 Z M 17.768 4.857 L 5.159 4.857 L 7.68 9.886 L 17.768 9.886 C 19.161 9.886 20.29 11.011 20.29 12.4 C 20.29 13.789 19.161 14.914 17.768 14.914 C 20.554 14.914 22.812 12.663 22.812 9.886 C 22.812 7.109 20.554 4.857 17.768 4.857 Z M 82.067 3.751 C 81.51 3.751 81.104 3.65 80.847 3.447 C 80.6 3.234 80.478 2.903 80.478 2.455 C 80.478 1.996 80.6 1.666 80.847 1.463 C 81.104 1.25 81.51 1.143 82.067 1.143 C 82.612 1.143 83.013 1.25 83.27 1.463 C 83.527 1.666 83.655 1.996 83.655 2.455 C 83.655 2.903 83.527 3.234 83.27 3.447 C 83.013 3.65 82.612 3.751 82.067 3.751 Z M 39.425 3.735 C 39.746 4.258 39.906 4.892 39.906 5.639 C 39.906 6.386 39.746 7.02 39.425 7.543 C 39.104 8.066 38.639 8.466 38.029 8.743 C 37.419 9.02 36.681 9.159 35.814 9.159 L 33.712 9.159 L 33.712 12.679 L 30.951 12.679 L 30.951 2.119 L 35.814 2.119 C 36.681 2.119 37.419 2.258 38.029 2.535 C 38.639 2.812 39.104 3.212 39.425 3.735 Z M 37.13 5.639 C 37.13 5.148 36.98 4.785 36.681 4.551 C 36.392 4.306 35.958 4.183 35.381 4.183 L 33.712 4.183 L 33.712 7.095 L 35.381 7.095 C 35.958 7.095 36.392 6.977 36.681 6.743 C 36.98 6.498 37.13 6.13 37.13 5.639 Z M 40.859 10.919 C 40.506 10.3 40.329 9.553 40.329 8.679 C 40.329 7.805 40.506 7.057 40.859 6.439 C 41.212 5.821 41.704 5.346 42.336 5.015 C 42.977 4.685 43.71 4.519 44.534 4.519 C 45.379 4.519 46.096 4.684 46.685 5.015 C 47.284 5.335 47.738 5.783 48.049 6.359 C 48.359 6.924 48.514 7.575 48.514 8.311 C 48.514 8.503 48.509 8.695 48.498 8.887 C 48.487 9.079 48.471 9.239 48.45 9.367 L 42.971 9.367 C 42.999 9.586 43.055 9.802 43.138 10.007 C 43.277 10.327 43.475 10.562 43.732 10.711 C 43.989 10.85 44.299 10.919 44.663 10.919 C 45.069 10.919 45.39 10.839 45.626 10.679 C 45.873 10.517 46.064 10.282 46.171 10.007 L 48.354 10.727 C 48.207 11.182 47.934 11.587 47.567 11.895 C 47.203 12.205 46.765 12.439 46.251 12.599 C 45.748 12.759 45.219 12.839 44.663 12.839 C 43.774 12.839 43.004 12.674 42.352 12.343 C 41.71 12.012 41.212 11.538 40.859 10.919 Z M 45.92 7.911 C 45.873 7.507 45.764 7.182 45.593 6.935 C 45.369 6.594 45.016 6.423 44.534 6.423 C 44.191 6.423 43.897 6.503 43.652 6.663 C 43.416 6.823 43.234 7.074 43.106 7.415 C 43.055 7.562 43.015 7.728 42.986 7.911 Z M 52.528 7.623 C 52.367 7.89 52.287 8.231 52.287 8.647 L 52.287 12.679 L 49.559 12.679 L 49.559 4.679 L 51.966 4.679 L 52.078 6.407 C 52.282 5.81 52.582 5.346 52.977 5.015 C 53.384 4.684 53.898 4.519 54.518 4.519 C 54.721 4.519 54.893 4.535 55.031 4.567 C 55.181 4.599 55.299 4.641 55.384 4.695 L 55.112 6.935 C 54.977 6.886 54.837 6.853 54.694 6.839 C 54.498 6.804 54.299 6.788 54.1 6.791 C 53.779 6.791 53.48 6.86 53.202 6.999 C 52.922 7.139 52.689 7.355 52.528 7.623 Z M 55.992 10.919 C 55.639 10.3 55.462 9.553 55.462 8.679 C 55.462 7.805 55.639 7.057 55.992 6.439 C 56.345 5.821 56.837 5.346 57.468 5.015 C 58.11 4.685 58.843 4.519 59.667 4.519 C 60.512 4.519 61.229 4.684 61.818 5.015 C 62.417 5.335 62.871 5.783 63.182 6.359 C 63.492 6.924 63.647 7.575 63.647 8.311 C 63.647 8.503 63.641 8.695 63.631 8.887 C 63.62 9.079 63.604 9.239 63.583 9.367 L 58.103 9.367 C 58.131 9.587 58.188 9.802 58.271 10.007 C 58.41 10.327 58.608 10.562 58.865 10.711 C 59.121 10.85 59.431 10.919 59.795 10.919 C 60.202 10.919 60.523 10.839 60.758 10.679 C 61.006 10.517 61.197 10.282 61.304 10.007 L 63.487 10.727 C 63.339 11.182 63.067 11.586 62.7 11.895 C 62.336 12.205 61.898 12.439 61.384 12.599 C 60.881 12.759 60.351 12.839 59.795 12.839 C 58.907 12.839 58.137 12.674 57.484 12.343 C 56.842 12.012 56.345 11.538 55.992 10.919 Z M 61.052 7.911 C 61.005 7.507 60.897 7.182 60.726 6.935 C 60.502 6.594 60.149 6.423 59.667 6.423 C 59.324 6.423 59.03 6.503 58.784 6.663 C 58.549 6.823 58.367 7.074 58.239 7.415 C 58.188 7.562 58.148 7.728 58.119 7.911 Z M 68.464 16.119 C 67.768 16.119 67.131 16.033 66.553 15.863 C 65.975 15.703 65.494 15.415 65.109 14.999 C 64.734 14.593 64.494 14.023 64.387 13.287 L 67.019 12.951 C 67.062 13.42 67.211 13.778 67.468 14.023 C 67.736 14.279 68.121 14.407 68.624 14.407 C 69.095 14.407 69.453 14.258 69.699 13.959 C 69.955 13.66 70.084 13.239 70.084 12.695 L 70.084 11.143 C 69.845 11.541 69.508 11.872 69.105 12.103 C 68.699 12.337 68.217 12.455 67.661 12.455 C 66.987 12.455 66.398 12.301 65.895 11.991 C 65.403 11.682 65.023 11.234 64.756 10.647 C 64.489 10.05 64.354 9.34 64.354 8.519 C 64.354 7.676 64.499 6.956 64.788 6.359 C 65.077 5.762 65.468 5.308 65.959 4.999 C 66.463 4.679 67.029 4.519 67.661 4.519 C 68.367 4.519 68.939 4.695 69.378 5.047 C 69.817 5.388 70.127 5.836 70.309 6.391 L 70.373 4.679 L 72.828 4.679 L 72.828 12.039 C 72.828 13.031 72.652 13.82 72.299 14.407 C 71.956 14.995 71.425 15.452 70.791 15.703 C 70.138 15.98 69.362 16.119 68.464 16.119 Z M 68.608 10.471 C 69.057 10.471 69.416 10.305 69.683 9.975 C 69.95 9.644 70.084 9.148 70.084 8.487 C 70.084 7.847 69.955 7.361 69.699 7.031 C 69.443 6.69 69.079 6.519 68.608 6.519 C 68.297 6.519 68.03 6.593 67.806 6.743 C 67.58 6.892 67.404 7.111 67.276 7.399 C 67.158 7.687 67.099 8.05 67.099 8.487 C 67.099 9.17 67.233 9.671 67.5 9.991 C 67.768 10.311 68.137 10.471 68.608 10.471 Z M 76.808 6.407 L 76.695 4.679 L 74.288 4.679 L 74.288 12.679 L 77.016 12.679 L 77.016 8.647 C 77.016 8.231 77.097 7.89 77.257 7.623 C 77.428 7.346 77.653 7.137 77.931 6.999 C 78.21 6.86 78.518 6.789 78.83 6.791 C 79.065 6.791 79.263 6.807 79.424 6.839 C 79.595 6.86 79.734 6.892 79.841 6.935 L 80.114 4.695 C 80.004 4.633 79.885 4.589 79.761 4.567 C 79.592 4.532 79.42 4.516 79.247 4.519 C 78.626 4.519 78.113 4.685 77.706 5.015 C 77.31 5.346 77.011 5.809 76.808 6.407 Z M 91.6 4.839 C 91.193 4.626 90.712 4.519 90.155 4.519 C 89.535 4.519 88.989 4.663 88.518 4.951 C 88.048 5.228 87.678 5.65 87.411 6.215 L 87.406 6.225 L 87.331 4.679 L 84.891 4.679 L 84.891 12.679 L 87.619 12.679 L 87.619 8.455 C 87.619 8.018 87.684 7.661 87.812 7.383 C 87.94 7.105 88.117 6.909 88.342 6.791 C 88.561 6.664 88.81 6.598 89.064 6.599 C 89.407 6.599 89.679 6.706 89.882 6.919 C 90.097 7.132 90.203 7.527 90.203 8.103 L 90.203 12.087 C 90.203 12.578 90.305 12.988 90.508 13.319 C 90.705 13.643 90.996 13.9 91.343 14.055 C 91.707 14.226 92.119 14.311 92.579 14.311 C 92.953 14.311 93.247 14.279 93.461 14.215 C 93.716 14.151 93.964 14.059 94.199 13.943 L 94.392 12.311 C 94.276 12.371 94.151 12.414 94.023 12.439 C 93.916 12.46 93.782 12.471 93.622 12.471 C 93.442 12.475 93.267 12.419 93.124 12.311 C 92.996 12.194 92.932 12.002 92.932 11.735 L 92.932 7.351 C 92.932 6.722 92.814 6.199 92.579 5.783 C 92.354 5.378 92.013 5.049 91.6 4.839 Z M 83.431 4.679 L 83.431 12.679 L 80.702 12.679 L 80.702 4.679 Z' fill='transparent' id='Z4LvxPZiG'%3E%3Cpath d='M 17.654 0 L 0 0 L 2.522 5.029 L 17.654 5.029 C 20.439 5.029 22.698 7.28 22.698 10.057 C 22.698 12.834 20.439 15.086 17.654 15.086 C 21.832 15.086 25.22 11.709 25.22 7.543 C 25.22 3.377 21.832 0 17.654 0 Z' fill='rgb(255, 255, 255)' id='uz53BCoJB'/%3E%3Cg opacity='0.3'%3E%3Cpath d='M 0.27 3.639 C -0.569 1.967 0.65 0 2.525 0 L 6.01 0 C 7.403 0 8.532 1.126 8.532 2.514 C 8.532 3.903 7.403 5.029 6.01 5.029 L 2.525 5.029 C 1.57 5.028 0.697 4.491 0.27 3.639 Z' fill='rgb(255, 255, 255)' id='CsEfyIapW' transform='translate(11.75 10)'/%3E%3C/g%3E%3Cg opacity='0.6'%3E%3Cpath d='M 12.61 0 L 0 0 L 2.522 5.029 L 12.61 5.029 C 14.003 5.029 15.132 6.154 15.132 7.543 C 15.132 8.931 14.003 10.057 12.61 10.057 C 15.395 10.057 17.654 7.806 17.654 5.029 C 17.654 2.251 15.395 0 12.61 0 Z' fill='rgb(255, 255, 255)' id='dQSTHGuxE' transform='translate(5.159 4.857)'/%3E%3C/g%3E%3Cg d='M 51.115 2.608 C 50.559 2.608 50.152 2.507 49.896 2.304 C 49.649 2.091 49.527 1.76 49.527 1.312 C 49.527 0.853 49.649 0.523 49.896 0.32 C 50.152 0.107 50.559 0 51.115 0 C 51.661 0 52.062 0.107 52.319 0.32 C 52.576 0.523 52.704 0.853 52.704 1.312 C 52.704 1.76 52.576 2.091 52.319 2.304 C 52.062 2.507 51.661 2.608 51.115 2.608 Z M 8.474 2.592 C 8.795 3.115 8.955 3.749 8.955 4.496 C 8.955 5.243 8.795 5.877 8.474 6.4 C 8.153 6.923 7.687 7.323 7.078 7.6 C 6.468 7.877 5.729 8.016 4.863 8.016 L 2.76 8.016 L 2.76 11.536 L 0 11.536 L 0 0.976 L 4.863 0.976 C 5.729 0.976 6.468 1.115 7.078 1.392 C 7.687 1.669 8.153 2.069 8.474 2.592 Z M 6.179 4.496 C 6.179 4.005 6.029 3.642 5.729 3.408 C 5.441 3.163 5.007 3.04 4.429 3.04 L 2.76 3.04 L 2.76 5.952 L 4.429 5.952 C 5.007 5.952 5.441 5.834 5.729 5.6 C 6.029 5.355 6.179 4.987 6.179 4.496 Z M 9.908 9.776 C 9.555 9.157 9.378 8.41 9.378 7.536 C 9.378 6.662 9.555 5.914 9.908 5.296 C 10.261 4.678 10.753 4.203 11.384 3.872 C 12.026 3.542 12.759 3.376 13.583 3.376 C 14.428 3.376 15.145 3.541 15.734 3.872 C 16.332 4.192 16.787 4.64 17.098 5.216 C 17.408 5.781 17.563 6.432 17.563 7.168 C 17.563 7.36 17.557 7.552 17.547 7.744 C 17.536 7.936 17.52 8.096 17.499 8.224 L 12.019 8.224 C 12.048 8.444 12.104 8.659 12.187 8.864 C 12.325 9.184 12.524 9.419 12.781 9.568 C 13.037 9.707 13.347 9.776 13.711 9.776 C 14.118 9.776 14.439 9.696 14.674 9.536 C 14.922 9.374 15.113 9.139 15.22 8.864 L 17.403 9.584 C 17.255 10.039 16.983 10.444 16.616 10.752 C 16.252 11.062 15.814 11.296 15.3 11.456 C 14.797 11.616 14.267 11.696 13.711 11.696 C 12.823 11.696 12.053 11.531 11.4 11.2 C 10.758 10.869 10.261 10.395 9.908 9.776 Z M 14.968 6.768 C 14.921 6.365 14.812 6.039 14.642 5.792 C 14.418 5.451 14.064 5.28 13.583 5.28 C 13.24 5.28 12.946 5.36 12.7 5.52 C 12.465 5.68 12.283 5.931 12.155 6.272 C 12.104 6.419 12.064 6.585 12.035 6.768 Z M 21.576 6.48 C 21.416 6.747 21.336 7.088 21.336 7.504 L 21.336 11.536 L 18.607 11.536 L 18.607 3.536 L 21.015 3.536 L 21.127 5.264 C 21.331 4.667 21.63 4.203 22.026 3.872 C 22.433 3.541 22.946 3.376 23.566 3.376 C 23.77 3.376 23.941 3.392 24.08 3.424 C 24.23 3.456 24.348 3.498 24.433 3.552 L 24.16 5.792 C 24.026 5.743 23.886 5.711 23.743 5.696 C 23.547 5.661 23.348 5.645 23.149 5.648 C 22.828 5.648 22.529 5.717 22.25 5.856 C 21.971 5.996 21.738 6.212 21.577 6.48 Z M 25.041 9.776 C 24.688 9.157 24.511 8.41 24.511 7.536 C 24.511 6.662 24.688 5.914 25.041 5.296 C 25.394 4.678 25.886 4.203 26.517 3.872 C 27.159 3.542 27.892 3.376 28.716 3.376 C 29.561 3.376 30.278 3.541 30.866 3.872 C 31.465 4.192 31.92 4.64 32.231 5.216 C 32.541 5.781 32.696 6.432 32.696 7.168 C 32.696 7.36 32.69 7.552 32.68 7.744 C 32.669 7.936 32.653 8.096 32.632 8.224 L 27.152 8.224 C 27.18 8.444 27.236 8.659 27.32 8.864 C 27.458 9.184 27.657 9.419 27.913 9.568 C 28.17 9.707 28.48 9.776 28.844 9.776 C 29.251 9.776 29.572 9.696 29.807 9.536 C 30.055 9.374 30.245 9.139 30.353 8.864 L 32.535 9.584 C 32.388 10.039 32.115 10.444 31.749 10.752 C 31.385 11.062 30.947 11.296 30.433 11.456 C 29.93 11.616 29.4 11.696 28.844 11.696 C 27.956 11.696 27.185 11.531 26.533 11.2 C 25.891 10.869 25.394 10.395 25.041 9.776 Z M 30.101 6.768 C 30.054 6.365 29.945 6.039 29.775 5.792 C 29.55 5.451 29.197 5.28 28.716 5.28 C 28.373 5.28 28.079 5.36 27.833 5.52 C 27.598 5.68 27.416 5.931 27.288 6.272 C 27.236 6.419 27.196 6.585 27.168 6.768 Z M 37.512 14.976 C 36.816 14.976 36.18 14.89 35.602 14.72 C 35.024 14.56 34.543 14.272 34.158 13.856 C 33.783 13.45 33.543 12.88 33.435 12.144 L 36.067 11.808 C 36.11 12.277 36.26 12.635 36.517 12.88 C 36.784 13.136 37.17 13.264 37.673 13.264 C 38.143 13.264 38.502 13.115 38.748 12.816 C 39.004 12.517 39.133 12.096 39.133 11.552 L 39.133 10 C 38.894 10.398 38.557 10.729 38.154 10.96 C 37.747 11.194 37.266 11.312 36.71 11.312 C 36.036 11.312 35.447 11.158 34.944 10.848 C 34.452 10.539 34.072 10.091 33.805 9.504 C 33.537 8.907 33.403 8.197 33.403 7.376 C 33.403 6.533 33.548 5.813 33.837 5.216 C 34.126 4.619 34.516 4.165 35.008 3.856 C 35.511 3.536 36.078 3.376 36.71 3.376 C 37.416 3.376 37.988 3.552 38.427 3.904 C 38.866 4.245 39.176 4.693 39.357 5.248 L 39.422 3.536 L 41.877 3.536 L 41.877 10.896 C 41.877 11.888 41.7 12.677 41.347 13.264 C 41.005 13.852 40.474 14.309 39.839 14.56 C 39.187 14.837 38.411 14.976 37.512 14.976 Z M 37.657 9.328 C 38.106 9.328 38.464 9.162 38.732 8.832 C 38.999 8.501 39.133 8.005 39.133 7.344 C 39.133 6.704 39.004 6.218 38.748 5.888 C 38.491 5.547 38.127 5.376 37.657 5.376 C 37.346 5.376 37.078 5.45 36.854 5.6 C 36.629 5.749 36.453 5.968 36.325 6.256 C 36.207 6.544 36.148 6.907 36.148 7.344 C 36.148 8.027 36.282 8.528 36.549 8.848 C 36.816 9.168 37.186 9.328 37.657 9.328 Z M 45.857 5.264 L 45.744 3.536 L 43.337 3.536 L 43.337 11.536 L 46.065 11.536 L 46.065 7.504 C 46.065 7.088 46.145 6.747 46.306 6.48 C 46.477 6.203 46.701 5.994 46.98 5.856 C 47.259 5.717 47.567 5.646 47.879 5.648 C 48.114 5.648 48.312 5.664 48.472 5.696 C 48.643 5.717 48.783 5.749 48.89 5.792 L 49.163 3.552 C 49.053 3.49 48.934 3.447 48.809 3.424 C 48.641 3.389 48.468 3.373 48.296 3.376 C 47.675 3.376 47.162 3.542 46.755 3.872 C 46.359 4.203 46.059 4.666 45.857 5.264 Z M 60.648 3.696 C 60.242 3.483 59.76 3.376 59.204 3.376 C 58.584 3.376 58.038 3.52 57.567 3.808 C 57.096 4.085 56.727 4.507 56.46 5.072 L 56.455 5.082 L 56.379 3.536 L 53.94 3.536 L 53.94 11.536 L 56.668 11.536 L 56.668 7.312 C 56.668 6.875 56.732 6.518 56.861 6.24 C 56.989 5.962 57.166 5.766 57.39 5.648 C 57.61 5.521 57.859 5.455 58.113 5.456 C 58.455 5.456 58.728 5.563 58.931 5.776 C 59.145 5.989 59.252 6.384 59.252 6.96 L 59.252 10.944 C 59.252 11.435 59.354 11.845 59.557 12.176 C 59.753 12.5 60.045 12.757 60.392 12.912 C 60.756 13.083 61.168 13.168 61.627 13.168 C 62.002 13.168 62.296 13.136 62.51 13.072 C 62.765 13.008 63.013 12.916 63.248 12.8 L 63.441 11.168 C 63.325 11.228 63.2 11.271 63.072 11.296 C 62.965 11.317 62.831 11.328 62.67 11.328 C 62.491 11.332 62.316 11.276 62.173 11.168 C 62.045 11.051 61.98 10.859 61.98 10.592 L 61.98 6.208 C 61.98 5.579 61.863 5.056 61.627 4.64 C 61.403 4.235 61.062 3.906 60.648 3.696 Z M 52.48 3.536 L 52.48 11.536 L 49.751 11.536 L 49.751 3.536 Z' fill='transparent' id='unZfzTsR8' transform='translate(30.951 1.143)'%3E%3Cpath d='M 1.589 2.608 C 1.032 2.608 0.626 2.507 0.369 2.304 C 0.123 2.091 0 1.76 0 1.312 C 0 0.853 0.123 0.523 0.369 0.32 C 0.626 0.107 1.032 0 1.589 0 C 2.134 0 2.536 0.107 2.792 0.32 C 3.049 0.523 3.178 0.853 3.178 1.312 C 3.178 1.76 3.049 2.091 2.792 2.304 C 2.536 2.507 2.134 2.608 1.589 2.608 Z' fill='rgb(255, 255, 255)' id='jXjdzEFgf' transform='translate(49.527 0)'/%3E%3Cpath d='M 8.474 1.616 C 8.795 2.139 8.955 2.773 8.955 3.52 C 8.955 4.267 8.795 4.901 8.474 5.424 C 8.153 5.947 7.687 6.347 7.078 6.624 C 6.468 6.901 5.729 7.04 4.863 7.04 L 2.76 7.04 L 2.76 10.56 L 0 10.56 L 0 0 L 4.863 0 C 5.729 0 6.468 0.139 7.078 0.416 C 7.687 0.693 8.153 1.093 8.474 1.616 Z M 6.179 3.52 C 6.179 3.029 6.029 2.666 5.729 2.432 C 5.441 2.187 5.007 2.064 4.429 2.064 L 2.76 2.064 L 2.76 4.976 L 4.429 4.976 C 5.007 4.976 5.441 4.858 5.729 4.624 C 6.029 4.379 6.179 4.011 6.179 3.52 Z M 9.908 8.8 C 9.555 8.181 9.378 7.434 9.378 6.56 C 9.378 5.686 9.555 4.938 9.908 4.32 C 10.261 3.702 10.753 3.227 11.384 2.896 C 12.026 2.566 12.759 2.4 13.583 2.4 C 14.428 2.4 15.145 2.565 15.734 2.896 C 16.332 3.216 16.787 3.664 17.098 4.24 C 17.408 4.805 17.563 5.456 17.563 6.192 C 17.563 6.384 17.557 6.576 17.547 6.768 C 17.536 6.96 17.52 7.12 17.499 7.248 L 12.019 7.248 C 12.048 7.468 12.104 7.683 12.187 7.888 C 12.325 8.208 12.524 8.443 12.781 8.592 C 13.037 8.731 13.347 8.8 13.711 8.8 C 14.118 8.8 14.439 8.72 14.674 8.56 C 14.922 8.398 15.113 8.163 15.22 7.888 L 17.403 8.608 C 17.255 9.063 16.983 9.468 16.616 9.776 C 16.252 10.086 15.814 10.32 15.3 10.48 C 14.797 10.64 14.267 10.72 13.711 10.72 C 12.823 10.72 12.053 10.555 11.4 10.224 C 10.758 9.893 10.261 9.419 9.908 8.8 Z M 14.968 5.792 C 14.921 5.389 14.812 5.063 14.642 4.816 C 14.418 4.475 14.064 4.304 13.583 4.304 C 13.24 4.304 12.946 4.384 12.7 4.544 C 12.465 4.704 12.283 4.955 12.155 5.296 C 12.104 5.443 12.064 5.609 12.035 5.792 Z' fill='rgb(255, 255, 255)' id='RbUwDNMzI' transform='translate(0 0.976)'/%3E%3Cpath d='M 2.969 3.104 C 2.809 3.371 2.728 3.712 2.728 4.128 L 2.728 8.16 L 0 8.16 L 0 0.16 L 2.407 0.16 L 2.52 1.888 C 2.723 1.291 3.023 0.827 3.418 0.496 C 3.825 0.165 4.339 0 4.959 0 C 5.163 0 5.334 0.016 5.473 0.048 C 5.623 0.08 5.74 0.122 5.826 0.176 L 5.553 2.416 C 5.418 2.367 5.278 2.335 5.136 2.32 C 4.94 2.285 4.741 2.269 4.542 2.272 C 4.221 2.272 3.922 2.341 3.643 2.48 C 3.364 2.62 3.13 2.836 2.97 3.104 Z' fill='rgb(255, 255, 255)' id='DjZEL11yY' transform='translate(18.607 3.376)'/%3E%3Cpath d='M 0.53 6.4 C 0.177 5.781 0 5.034 0 4.16 C 0 3.286 0.177 2.538 0.53 1.92 C 0.883 1.302 1.374 0.827 2.006 0.496 C 2.648 0.166 3.381 0 4.205 0 C 5.05 0 5.767 0.165 6.355 0.496 C 6.954 0.816 7.409 1.264 7.719 1.84 C 8.03 2.405 8.185 3.056 8.185 3.792 C 8.185 3.984 8.179 4.176 8.169 4.368 C 8.158 4.56 8.142 4.72 8.121 4.848 L 2.641 4.848 C 2.669 5.068 2.725 5.283 2.809 5.488 C 2.947 5.808 3.146 6.043 3.402 6.192 C 3.659 6.331 3.969 6.4 4.333 6.4 C 4.74 6.4 5.061 6.32 5.296 6.16 C 5.544 5.998 5.734 5.763 5.842 5.488 L 8.024 6.208 C 7.877 6.663 7.604 7.068 7.238 7.376 C 6.874 7.686 6.436 7.92 5.922 8.08 C 5.419 8.24 4.889 8.32 4.333 8.32 C 3.445 8.32 2.674 8.155 2.022 7.824 C 1.38 7.493 0.883 7.019 0.53 6.4 Z M 5.59 3.392 C 5.543 2.989 5.434 2.663 5.264 2.416 C 5.039 2.075 4.686 1.904 4.205 1.904 C 3.862 1.904 3.568 1.984 3.322 2.144 C 3.087 2.304 2.905 2.555 2.776 2.896 C 2.725 3.043 2.685 3.209 2.657 3.392 Z M 13.001 11.6 C 12.305 11.6 11.669 11.514 11.091 11.344 C 10.513 11.184 10.032 10.896 9.646 10.48 C 9.272 10.074 9.031 9.504 8.924 8.768 L 11.556 8.432 C 11.599 8.901 11.749 9.259 12.006 9.504 C 12.273 9.76 12.658 9.888 13.162 9.888 C 13.632 9.888 13.991 9.739 14.237 9.44 C 14.493 9.141 14.622 8.72 14.622 8.176 L 14.622 6.624 C 14.383 7.022 14.046 7.353 13.643 7.584 C 13.236 7.818 12.755 7.936 12.199 7.936 C 11.525 7.936 10.936 7.782 10.433 7.472 C 9.941 7.163 9.561 6.715 9.294 6.128 C 9.026 5.531 8.892 4.821 8.892 4 C 8.892 3.157 9.037 2.437 9.326 1.84 C 9.615 1.243 10.005 0.789 10.497 0.48 C 11 0.16 11.567 0 12.199 0 C 12.905 0 13.477 0.176 13.916 0.528 C 14.354 0.869 14.665 1.317 14.846 1.872 L 14.911 0.16 L 17.366 0.16 L 17.366 7.52 C 17.366 8.512 17.189 9.301 16.836 9.888 C 16.494 10.476 15.963 10.933 15.328 11.184 C 14.675 11.461 13.9 11.6 13.001 11.6 Z M 13.146 5.952 C 13.594 5.952 13.953 5.786 14.221 5.456 C 14.488 5.125 14.622 4.629 14.622 3.968 C 14.622 3.328 14.493 2.842 14.237 2.512 C 13.98 2.171 13.616 2 13.146 2 C 12.835 2 12.567 2.074 12.343 2.224 C 12.118 2.373 11.941 2.592 11.814 2.88 C 11.696 3.168 11.637 3.531 11.637 3.968 C 11.637 4.651 11.771 5.152 12.038 5.472 C 12.305 5.792 12.675 5.952 13.146 5.952 Z' fill='rgb(255, 255, 255)' id='XpJjjclKG' transform='translate(24.511 3.376)'/%3E%3Cpath d='M 2.52 1.888 L 2.407 0.16 L 0 0.16 L 0 8.16 L 2.728 8.16 L 2.728 4.128 C 2.728 3.712 2.809 3.371 2.969 3.104 C 3.14 2.827 3.365 2.619 3.643 2.48 C 3.922 2.341 4.23 2.27 4.542 2.272 C 4.777 2.272 4.975 2.288 5.136 2.32 C 5.306 2.341 5.446 2.373 5.553 2.416 L 5.826 0.176 C 5.716 0.114 5.597 0.071 5.473 0.048 C 5.304 0.013 5.132 -0.003 4.959 0 C 4.338 0 3.825 0.166 3.418 0.496 C 3.022 0.827 2.723 1.291 2.52 1.888 Z M 17.311 0.32 C 16.905 0.107 16.424 0 15.867 0 C 15.247 0 14.701 0.144 14.23 0.432 C 13.76 0.709 13.39 1.131 13.123 1.696 L 13.118 1.707 L 13.042 0.16 L 10.603 0.16 L 10.603 8.16 L 13.331 8.16 L 13.331 3.936 C 13.331 3.499 13.396 3.142 13.524 2.864 C 13.652 2.587 13.829 2.39 14.054 2.272 C 14.273 2.146 14.522 2.08 14.776 2.08 C 15.119 2.08 15.391 2.187 15.594 2.4 C 15.809 2.613 15.915 3.008 15.915 3.584 L 15.915 7.568 C 15.915 8.059 16.017 8.469 16.22 8.8 C 16.417 9.125 16.708 9.382 17.055 9.536 C 17.419 9.707 17.831 9.792 18.29 9.792 C 18.665 9.792 18.959 9.76 19.173 9.696 C 19.428 9.632 19.676 9.541 19.911 9.424 L 20.104 7.792 C 19.988 7.852 19.863 7.895 19.735 7.92 C 19.628 7.941 19.494 7.952 19.334 7.952 C 19.154 7.957 18.979 7.9 18.836 7.792 C 18.708 7.675 18.644 7.483 18.644 7.216 L 18.644 2.832 C 18.644 2.203 18.526 1.68 18.29 1.264 C 18.066 0.859 17.725 0.53 17.311 0.32 Z M 9.143 0.16 L 9.143 8.16 L 6.414 8.16 L 6.414 0.16 Z' fill='rgb(255, 255, 255)' id='VbAAz22fJ' transform='translate(43.337 3.376)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

/* MASK projects: raster client logos (set inline) */
.sec-portfolio-b .pb-row__logo--img{ width:110px; height:34px; }
.sec-portfolio-b .pb-row__logo--img{ width:auto; height:auto; mix-blend-mode:normal; background:none; display:flex; align-items:center; justify-content:center; }
.sec-portfolio-b .pb-row__logo--img img{ display:block; object-fit:contain; }

/* ==== css/sections/07-strategy.css ==== */
/* ==========================================================================
   07 — Strategy ("From brief to launch"), light section, 2800px tall.
   Sticky container (820px) with title/quote on the left and a 2×2 step grid
   whose dark panel travels between cards as the page scrolls.
   ========================================================================== */
.sec-strategy{
  position:relative; z-index:0;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  width:100%; height:2800px; padding:100px 0 200px;
  background:var(--black-05); color:var(--black);
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-strategy{ padding:100px 0 150px; } }

/* Framer's fallback face (used for glyphs DM Sans lacks, e.g. the "‒" figure dash in the label) */
@font-face{ font-family:"DM Sans Placeholder"; src:local("Arial"); ascent-override:94.36%; descent-override:29.49%; line-gap-override:0%; size-adjust:105.13%; }

/* ---- 3-column hairlines ---- */
.sec-strategy__lines{
  position:absolute; top:0; left:calc(50% - min(var(--container-max),100%)/2); z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  width:100%; max-width:var(--container-max); height:100%; overflow:clip; pointer-events:none;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-strategy__lines{ max-width:none; left:0; padding:0 var(--page-pad); } }
.sec-strategy__col{ position:relative; height:100%; border-right:1px solid var(--line-light); }
.sec-strategy__col:first-child{ border-left:1px solid var(--line-light); }

/* ---- scroll targets (invisible) ---- */
.sec-strategy__trigger{ position:absolute; left:0; z-index:1; width:100%; height:200px; overflow:hidden; pointer-events:none; }
.sec-strategy__trigger[data-step="1"]{ top:200px; }
.sec-strategy__trigger[data-step="2"]{ top:600px; }
.sec-strategy__trigger[data-step="3"]{ top:1000px; }
.sec-strategy__trigger[data-step="4"]{ top:1400px; }

/* ---- sticky container ---- */
.sec-strategy__sticky{
  position:sticky; top:0; z-index:1;
  display:flex; flex-direction:row; align-items:flex-start; justify-content:center; gap:1px;
  width:100%; max-width:var(--container-max); height:min-content; padding:100px 0 0;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-strategy__sticky{ max-width:none; padding:100px var(--page-pad) 0; } }

.sec-strategy__title{
  position:relative; z-index:1; flex:1 0 0; width:1px; align-self:stretch;
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
}
.sec-strategy__features{ position:relative; flex:2 0 0; width:1px; height:80vh; }

/* ---- heading block ---- */
.sec-strategy__heading{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-strategy__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-strategy__shapes{ display:flex; align-items:center; height:14px; }
.sec-strategy__shapes svg{ display:block; height:14px; fill:var(--red); overflow:visible; }
.sec-strategy__tag{ display:flex; align-items:flex-end; gap:2px; white-space:pre; }
.sec-strategy__tag > span{ display:block; }
.sec-strategy__tag > span:not(.sec-strategy__bracket):not(.sec-strategy__jp){ cursor:pointer; } /* live: ND® / ‒ / STEPS have cursor:pointer */
.sec-strategy__jp{ color:var(--black-40); }

.sec-strategy__h{ white-space:pre; color:var(--black); }
.sec-strategy__hl{ display:block; }
.sec-strategy__w{ display:inline; }
.sec-strategy__ch{ display:inline-block; }
.sec-strategy__p{ width:100%; color:var(--black-70); white-space:pre-wrap; }

/* ---- quote ---- */
.sec-strategy__quote{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; width:100%; }
.sec-strategy__qsym{ display:flex; align-items:center; justify-content:center; padding:0 0 0 80px; height:35px; }
@media (min-width:1200px) and (max-width:1619.98px){ .sec-strategy__qsym{ padding:0 0 0 50px; } }
.sec-strategy__qsym svg{ display:block; width:44px; height:35px; overflow:visible; stroke:var(--line-light); fill:transparent; }
.sec-strategy__qtext{ margin:0; width:81%; }
.sec-strategy__qtext p{ white-space:pre-wrap; word-break:break-word; font-size:18px; font-weight:700; line-height:1.3; letter-spacing:-.04em; color:var(--black); }
.sec-strategy__author{ display:flex; align-items:center; gap:20px; overflow:hidden; }
.sec-strategy__avatar{ position:relative; width:60px; height:60px; flex:none; border-radius:60px; overflow:hidden; }
.sec-strategy__avatar img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-strategy__meta{ display:flex; flex-direction:column; align-items:flex-start; width:min-content; white-space:pre; }
.sec-strategy__name{ font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--black); }
.sec-strategy__role{ display:flex; align-items:center; gap:3px; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--black-50); }

/* ---- step grid ---- */
.sec-strategy__grid{
  position:relative; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:repeat(2,minmax(0,1fr));
  width:100%; height:100%;
}
.sec-strategy__borders{
  position:absolute; inset:0; z-index:-1; display:grid;
  grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); pointer-events:none;
}
.sec-strategy__borders > div{ position:relative; border-bottom:1px solid var(--line-light); }
.sec-strategy__borders > div:nth-child(-n+2){ border-top:1px solid var(--line-light); }

.sec-strategy__dark{
  position:absolute; top:0; left:0; z-index:0; width:50%; height:50%;
  background:var(--grey-19); overflow:hidden; will-change:transform;
}

.sec-strategy__card{ position:relative; z-index:1; overflow:hidden; height:100%; padding:40px; display:flex; flex-direction:column; }
.sec-strategy__card-in{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; width:100%; height:100%; }
.sec-strategy__card-top{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-strategy__badge{
  display:flex; align-items:center; justify-content:center; width:47px; height:47px; aspect-ratio:1/1;
  border-radius:15px; background:var(--white); color:var(--black); white-space:pre; overflow:hidden;
}
.sec-strategy__cat{ display:flex; align-items:center; gap:10px; white-space:pre; overflow:hidden; color:var(--black); }
.sec-strategy__card-body{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-strategy__h4{ white-space:pre-wrap; color:var(--black); }
.sec-strategy__card[data-step="2"] .sec-strategy__h4,
.sec-strategy__card[data-step="3"] .sec-strategy__h4{ width:100%; } /* live: these two titles are full-width pre-wrap boxes */
.sec-strategy__desc{ white-space:pre-wrap; word-break:break-word; color:var(--black-60); }

/* active state (also applied statically for ?static) */
.sec-strategy__card.is-active .sec-strategy__badge{ background:var(--red); color:var(--white); }
.sec-strategy__card.is-active .sec-strategy__cat,
.sec-strategy__card.is-active .sec-strategy__h4{ color:var(--white); }
.sec-strategy__card.is-active .sec-strategy__desc{ color:var(--white-50); }

/* ---- smaller breakpoints (kept sane, not pixel-checked) ---- */
@media (min-width:810px) and (max-width:1199.98px){
  .sec-strategy{ padding:50px 0 100px; }
  .sec-strategy__lines{ grid-template-columns:repeat(2,minmax(50px,1fr)); padding:0 var(--page-pad); left:0; max-width:none; }
  .sec-strategy__trigger[data-step="1"]{ top:600px; } .sec-strategy__trigger[data-step="2"]{ top:1000px; }
  .sec-strategy__trigger[data-step="3"]{ top:1400px; } .sec-strategy__trigger[data-step="4"]{ top:1800px; }
  .sec-strategy__sticky{ position:relative; top:auto; flex-direction:column; gap:100px; padding:50px var(--page-pad) 0; max-width:none; flex:1 0 0; }
  .sec-strategy__title{ flex:none; width:100%; align-self:auto; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); gap:0; }
  .sec-strategy__features{ position:sticky; top:80px; flex:none; width:100%; height:700px; }
}
@media (max-width:809.98px){
  .sec-strategy{ height:auto; padding:50px 0 100px; }
  .sec-strategy__lines{ grid-template-columns:repeat(1,minmax(50px,1fr)); padding:0 var(--page-pad); left:0; max-width:none; }
  .sec-strategy__sticky{ position:relative; top:auto; flex-direction:column; gap:80px; padding:50px var(--page-pad) 0; max-width:none; }
  .sec-strategy__title{ flex:none; width:100%; align-self:auto; gap:50px; }
  .sec-strategy__features{ flex:none; width:100%; height:auto; }
  .sec-strategy__grid{ grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:350px; }
  .sec-strategy__borders{ grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:350px; }
  .sec-strategy__card{ padding:30px; }
  /* the desktop 2×2 grid reads 1 2 / 4 3 (zigzag), so stacked cards must be reordered to 1 → 4 */
  .sec-strategy__card[data-step="1"]{ order:1; } .sec-strategy__card[data-step="2"]{ order:2; }
  .sec-strategy__card[data-step="3"]{ order:3; } .sec-strategy__card[data-step="4"]{ order:4; }
  .sec-strategy__grid{ display:flex; flex-direction:column; }
  .sec-strategy__grid > .sec-strategy__card{ height:350px; }
  .sec-strategy__card-body{ gap:20px; }
  .sec-strategy__dark{ width:100%; height:350px; }
  .sec-strategy__quote{ gap:30px; }
  .sec-strategy__qtext{ width:100%; }
  .sec-strategy__heading{ gap:20px; }
}

/* ==== css/sections/08-reviews.css ==== */
/* ==========================================================================
   08 — Reviews section ("True Stories.")  — measured at 1440×900 (1200–1619 breakpoint)
   ========================================================================== */
.sec-reviews{
  position:relative; display:flex; flex-direction:column; align-items:center;
  width:100%; color:var(--black); font-family:var(--font-sans);
}

/* ---- lined grid behind everything ---- */
.sec-reviews__grid{
  position:absolute; inset:0; z-index:0; display:grid;
  grid-template-columns:repeat(3,minmax(50px,1fr)); padding:0 var(--page-pad);
  overflow:clip; pointer-events:none;
}
.sec-reviews__col{ height:100%; border-right:1px solid var(--line-light); }
.sec-reviews__col:first-child{ border-left:1px solid var(--line-light); }

/* ---- shared: label "[ ND® ‒ … / 日本語 ]" ---- */
.sec-reviews__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-reviews__label-icons{ display:flex; align-items:center; height:14px; }
.sec-reviews__label-icons svg{ display:block; height:14px; flex:none; overflow:visible; }
.sec-reviews__label-icons path{ fill:var(--red); }
.sec-reviews__label-text{
  display:flex; align-items:flex-end; gap:2px;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.56px; text-transform:uppercase; white-space:pre;
}
.sec-reviews__label-jp{ font-weight:500; color:var(--black-40); }

/* ---- live text presets 4zq9bz (12px label), h3n2e3 (14px/600) and the label parts (16x0xso/1x9173r/1l3) enable "ss07"
        (alternate digit glyphs: "4.9/5" 26.9px, "361 REVIEWS" 71.5px, "+6% MoM" 60.5px on the live site) ---- */
.sec-reviews__label-text,.sec-reviews__fact,.sec-reviews__rating-txt,.sec-reviews__av--count,
.sec-reviews__feat-services,.sec-reviews__author-name,.sec-reviews__co,.sec-reviews__stat-label,.sec-reviews__stat-mom,
.sec-reviews__card-name,.sec-reviews__card-co,.sec-reviews__h3{
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* ---- shared: lead paragraph ---- */
.sec-reviews__lead{
  width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.8px; color:var(--black-70);
  white-space:pre-wrap; text-align:left;
}

/* ===================== Title ===================== */
.sec-reviews__title{
  position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center;
  width:100%; padding:150px var(--page-pad) 100px;
}
.sec-reviews__fact{
  position:absolute; top:30px; right:var(--page-pad); z-index:1;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.24px; text-transform:uppercase;
  color:var(--black-50); white-space:pre; mix-blend-mode:difference;
}
.sec-reviews__fact span{ color:var(--black); }
.sec-reviews__intro{ flex:1 0 0; width:1px; align-self:stretch; display:flex; flex-direction:column; align-items:flex-start; gap:30px; }
.sec-reviews__heading{ flex:2 0 0; width:1px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:23px; }
.sec-reviews__h2{
  font-size:100px; font-weight:600; line-height:80px; letter-spacing:-8px; white-space:pre; margin:0;
}
.sec-reviews__h2w{ display:inline-block; }

/* ===================== Featured review ===================== */
.sec-reviews__featured{ position:relative; z-index:2; width:100%; padding:0 var(--page-pad); }
.sec-reviews__feat{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:500px;
}
.sec-reviews__feat::after{ content:""; position:absolute; inset:0; border:1px solid var(--line-light); pointer-events:none; }
.sec-reviews__feat-media{
  position:relative; height:100%; overflow:clip; display:flex; align-items:center; justify-content:center;
}
.sec-reviews__feat-pattern{
  position:absolute; inset:0; background-repeat:repeat; background-size:64px auto;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='126' height='126'%3E%3Cpath d='M126 0v21.584L21.584 126H0v-17.585L108.415 0H126Zm0 108.414V126h-17.586L126 108.414Zm0-84v39.171L63.585 126H24.414L126 24.414Zm0 42v39.17L105.584 126h-39.17L126 66.414ZM105.586 0 0 105.586V66.415L66.415 0h39.171Zm-42 0L0 63.586V24.415L24.415 0h39.171Zm-42 0L0 21.586V0h21.586Z' fill='rgba(136,136,136,0.2)' fill-rule='evenodd'/%3E%3C/svg%3E");
}
.sec-reviews__feat-imgwrap{ position:relative; width:100%; height:100%; overflow:hidden; will-change:transform; transform-origin:50% 50%; }
.sec-reviews__feat-img{
  position:absolute; left:0; top:-100px; width:100%; height:calc(100% + 200px); object-fit:cover; will-change:transform;
}
.sec-reviews__feat-corner{ position:absolute; top:0; left:0; width:63px; height:63px; transform:rotate(-90deg); }
.sec-reviews__feat-quote{ position:absolute; top:50px; right:50px; z-index:2; width:66px; height:53px; mix-blend-mode:difference; }

.sec-reviews__feat-body{
  grid-column:span 2; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  height:100%; padding:30px; background:var(--white); overflow:hidden;
}
.sec-reviews__feat-top{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; overflow:hidden; }
.sec-reviews__feat-services{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; white-space:pre; }
.sec-reviews__feat-tags{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.56px; color:var(--black-60); white-space:pre; }
.sec-reviews__quote-wrap{ width:100%; }
.sec-reviews__quote{
  margin:0; padding:0; font-size:45px; font-weight:700; line-height:49.5px; letter-spacing:-2.25px; color:var(--black);
}
.sec-reviews__qw,.sec-reviews__qi{ opacity:.08; will-change:opacity; }
.sec-reviews__feat-bottom{ display:flex; justify-content:space-between; align-items:flex-end; width:100%; }
.sec-reviews__author{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.sec-reviews__author-name{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; white-space:pre; }
.sec-reviews__author-role{ display:flex; align-items:center; gap:4px; font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.56px; white-space:pre; }
.sec-reviews__at{ color:var(--black-60); }
.sec-reviews__at--40{ color:var(--black-40); }
.sec-reviews__co{ font-weight:600; line-height:19.6px; }
.sec-reviews__feat-logo{ width:81px; height:auto; display:block; overflow:hidden; }

/* ===================== Extra facts ===================== */
.sec-reviews__facts{ position:relative; z-index:1; width:100%; padding:0 var(--page-pad); overflow:clip; }
.sec-reviews__facts-grid{
  position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:326px; overflow:hidden;
}
.sec-reviews__people-cell{ position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:30px; }
.sec-reviews__people-cell::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--line-light); pointer-events:none; }
.sec-reviews__people{ display:flex; align-items:center; gap:17px; }
.sec-reviews__avatars{ display:flex; align-items:center; padding:2px 8px; border-radius:27px; }
.sec-reviews__avslot{ position:relative; display:flex; align-items:center; justify-content:center; width:30px; flex:none; }
.sec-reviews__av{ position:relative; width:44px; height:44px; flex:none; border-radius:25px; overflow:hidden; }
.sec-reviews__av img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-reviews__avslot:nth-child(2) .sec-reviews__av{ z-index:1; }
.sec-reviews__avslot:nth-child(n+3) .sec-reviews__av{ z-index:2; }
.sec-reviews__av--count{
  display:flex; align-items:center; justify-content:center; background:var(--black); color:var(--white);
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.24px; text-transform:uppercase; white-space:pre;
}
.sec-reviews__rating{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; overflow:hidden; }
.sec-reviews__rating-row{ display:flex; align-items:center; gap:10px; }
.sec-reviews__rating-row--based{ gap:0; }
.sec-reviews__dots5{ display:flex; align-items:center; gap:3px; }
.sec-reviews__dots5 i{ display:block; width:7px; height:7px; border-radius:10px; background:var(--red); }
.sec-reviews__rating-txt{ font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.24px; text-transform:uppercase; white-space:pre; }
.sec-reviews__rating-txt--muted{ color:var(--black-50); }

.sec-reviews__stat{
  position:relative; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  height:326px; padding:30px; background:var(--grey-19); color:var(--white);
}
.sec-reviews__stat::after{ content:""; position:absolute; inset:0; border-right:1px solid var(--line-dark); pointer-events:none; }
.sec-reviews__stat-top{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; overflow:clip; }
.sec-reviews__dotgrid{ display:flex; flex-direction:column; gap:4px; padding:0; }
.sec-reviews__dotgrid div{ display:flex; gap:4px; }
.sec-reviews__dotgrid i{ display:block; width:2px; height:2px; background:var(--white-20); }
.sec-reviews__stat-label{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; white-space:pre; color:var(--white); }
.sec-reviews__stat-bottom{ display:flex; flex-direction:column; align-items:flex-start; overflow:clip; }
.sec-reviews__stat-mom{ display:flex; align-items:center; gap:10px; height:19.6px; font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; color:var(--white-30); white-space:pre; overflow:clip; }
.sec-reviews__stat-arrow{ width:16px; height:16px; display:block; flex:none; }
.sec-reviews__num-wrap{ position:relative; height:72px; display:flex; align-items:flex-start; }
.sec-reviews__num-wrap--first{ height:75px; }
.sec-reviews__num{
  display:inline-flex; align-items:center; font-size:60px; font-weight:700; line-height:48px; letter-spacing:0;
  font-variant-numeric:tabular-nums; font-feature-settings:normal; color:var(--white);
}
.sec-reviews__digits{ display:inline-flex; align-items:center; }
.sec-reviews__digit{
  position:relative; display:inline-flex; justify-content:center; width:37.2px; height:72px; overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.sec-reviews__digit-col{ position:absolute; top:0; left:0; width:100%; will-change:transform; }
.sec-reviews__digit-col > span{ display:flex; align-items:center; justify-content:center; height:72px; line-height:1; }
.sec-reviews__num-suffix{ line-height:1; margin-left:4.8px; }
.sec-reviews__num-prefix{ line-height:1; margin-right:4.8px; }

/* ===================== More reviews ===================== */
.sec-reviews__more{ position:relative; width:100%; padding:0 var(--page-pad); }
.sec-reviews__more-grid{
  position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:400px; gap:1px;
}
.sec-reviews__more-grid::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--line-light); pointer-events:none; }
.sec-reviews__more-head{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:30px; height:100%; padding:30px; }
.sec-reviews__h3{ margin:0; font-size:70px; font-weight:600; line-height:63px; letter-spacing:-4.2px; white-space:pre; }
.sec-reviews__more-lead{ width:100%; }
.sec-reviews__cards{ grid-column:span 2; display:flex; align-items:center; justify-content:center; height:100%; overflow:clip; }
.sec-reviews__card-wrap{ flex:1 0 0; width:1px; height:100%; }
.sec-reviews__card{
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; height:100%; padding:30px;
}
.sec-reviews__card-top{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-reviews__card-logo{ display:block; width:61px; height:auto; flex:none; }
.sec-reviews__stars{ display:flex; align-items:center; gap:2px; }
.sec-reviews__stars i{
  display:block; width:10px; height:10px; background-size:100% 100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.938 9.964' overflow='visible'%3E%3Cpath d='M 9.649 4.564 L 7.417 6.261 L 8.271 9.008 C 8.365 9.313 8.267 9.633 8.017 9.822 C 7.892 9.917 7.75 9.964 7.611 9.964 C 7.472 9.964 7.326 9.917 7.201 9.822 L 4.969 8.125 L 2.736 9.822 C 2.489 10.011 2.167 10.011 1.92 9.822 C 1.674 9.633 1.573 9.313 1.667 9.008 L 2.521 6.261 L 0.288 4.564 C 0.042 4.375 -0.059 4.055 0.035 3.75 C 0.128 3.445 0.389 3.249 0.694 3.249 L 3.455 3.249 L 4.309 0.502 C 4.403 0.196 4.663 0 4.969 0 C 5.274 0 5.535 0.196 5.628 0.502 L 6.483 3.249 L 9.243 3.249 C 9.549 3.249 9.809 3.445 9.903 3.75 C 9.997 4.055 9.899 4.375 9.649 4.564 Z' fill='rgb(0,0,0)'/%3E%3C/svg%3E");
}
.sec-reviews__card-body{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:50px; width:100%; overflow:hidden; }
.sec-reviews__card-text{ font-size:16px; font-weight:600; line-height:22.4px; letter-spacing:-.64px; white-space:pre-wrap; color:var(--black); }
.sec-reviews__card-author{ display:flex; align-items:center; gap:20px; }
.sec-reviews__card-av{ width:60px; height:60px; flex:none; border-radius:60px; overflow:hidden; }
.sec-reviews__card-av img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-reviews__card-meta{ display:flex; flex-direction:column; align-items:flex-start; }
.sec-reviews__card-name{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; white-space:pre; }
.sec-reviews__card-role{ display:flex; align-items:center; gap:5px; font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.56px; white-space:pre; }
.sec-reviews__card-co{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; white-space:pre; }

/* ===================== Logos carousel (3D ring) ===================== */
.sec-reviews__logos{
  position:relative; z-index:2; display:flex; align-items:center; justify-content:center;
  width:100%; height:200px; padding:0 var(--page-pad);
}
.sec-reviews__ring-stage{
  position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  perspective:1700px; cursor:grab; user-select:none; -webkit-user-select:none; touch-action:pan-y;
}
.sec-reviews__ring-stage.is-dragging{ cursor:grabbing; }
.sec-reviews__ring{ position:absolute; top:50%; left:50%; width:1px; height:1px; transform-style:preserve-3d; transform:rotateY(0deg); }
.sec-reviews__ring-item{
  position:absolute; top:0; left:0; width:100px; height:50px; display:flex; align-items:center; justify-content:center;
  transform-style:preserve-3d; backface-visibility:visible; pointer-events:none;
}
.sec-reviews__ring-inner{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; will-change:filter,opacity; }
.sec-reviews__ring-inner img{ width:100%; height:100%; object-fit:contain; pointer-events:none; display:block; }

/* ===================== responsive (secondary) ===================== */
@media (min-width:810px) and (max-width:1199.98px){
  .sec-reviews__title{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); padding:100px var(--page-pad) 50px; align-items:unset; }
  .sec-reviews__intro,.sec-reviews__heading{ width:100%; flex:none; }
  .sec-reviews__heading{ flex-direction:column; }
  .sec-reviews__h2{ font-size:80px; line-height:64px; letter-spacing:-6.4px; }
  .sec-reviews__feat{ grid-template-columns:1fr; grid-template-rows:auto; }
  .sec-reviews__feat-media{ height:390px; }
  .sec-reviews__feat-body{ grid-column:auto; }
  .sec-reviews__facts-grid,.sec-reviews__more-grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:auto; }
  .sec-reviews__more-grid{ display:flex; flex-direction:column; gap:50px; }
  .sec-reviews__cards{ height:auto; }
  .sec-reviews__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-reviews__grid .sec-reviews__col:last-child{ display:none; }
}
@media (max-width:809.98px){
  .sec-reviews__title{ flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:20px; padding:100px var(--page-pad) 50px; }
  .sec-reviews__intro,.sec-reviews__heading{ width:100%; flex:none; gap:20px; }
  .sec-reviews__h2{ font-size:60px; line-height:52px; letter-spacing:-4px; }
  .sec-reviews__feat{ grid-template-columns:1fr; grid-template-rows:auto; }
  .sec-reviews__feat-media{ height:300px; }
  .sec-reviews__feat-body{ grid-column:auto; }
  .sec-reviews__quote{ font-size:28px; line-height:32px; letter-spacing:-1.4px; }
  .sec-reviews__facts-grid{ grid-template-columns:1fr; grid-template-rows:auto; }
  .sec-reviews__more-grid{ display:flex; flex-direction:column; gap:70px; }
  .sec-reviews__cards{ flex-direction:column; height:auto; }
  .sec-reviews__card-wrap{ width:100%; flex:none; }
  .sec-reviews__h3{ font-size:50px; line-height:46px; letter-spacing:-3px; }
  .sec-reviews__grid{ grid-template-columns:1fr; }
  .sec-reviews__grid .sec-reviews__col:not(:first-child){ display:none; }
}

/* MASK client logo (dark PNG) */
img.sec-reviews__feat-logo{ width:auto; height:20px; max-width:100px; object-fit:contain; object-position:right center; }

/* the 3D ring must never widen the page on small screens */
.sec-reviews__logos{ overflow-x:clip; }
img.sec-reviews__card-logo{ width:auto; height:22px; max-width:100px; object-fit:contain; object-position:left center; }
@media (max-width:809.98px){ .sec-reviews__ring-stage{ perspective:900px; } }

/* ==== css/sections/09-features.css ==== */
/* ==========================================================================
   09 — Features ("How We Work")
   Measured at 1440×900 (breakpoint 1200–1619): section 1352px = title 352 + grid 2×500,
   bg #f2f2f2, 3 hairline columns (x 40 / 493 / 946 / 1400), full-width rules at y 352 / 1352.
   ========================================================================== */
.sec-features{
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; width:100%;
  background:var(--grey-f2); color:var(--black); font-family:var(--font-sans);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on; /* live: no ss07 here (plain "1" glyph); only the counter uses ss07 */
}

/* ---- background hairline grid ---- */
.sec-features__lines{
  position:absolute; top:0; left:50%; z-index:0; transform:translateX(-50%); display:grid; pointer-events:none;
  grid-template-columns:repeat(3,minmax(50px,1fr)); width:100%; max-width:var(--container-max); height:100%;
  padding:0 var(--page-pad); overflow:clip;
}
.sec-features__col{ position:relative; height:100%; border-right:1px solid var(--line-light); }
.sec-features__col--1{ border-left:1px solid var(--line-light); }

/* ---- content ---- */
.sec-features__content{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; width:100%; }

/* Title band: 150 / 100 padding, subheading (1fr) + heading (2fr) */
.sec-features__title{
  position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center;
  width:100%; max-width:var(--container-max); padding:200px 0 100px;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-features__title{ max-width:none; padding:150px var(--page-pad) 100px; } }
.sec-features__sub{ display:flex; flex:1 0 0; width:1px; flex-direction:column; justify-content:flex-start; align-items:flex-start; align-self:stretch; gap:30px; }
.sec-features__heading{ display:flex; flex:2 0 0; width:1px; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:23px; padding:0 0 22px; overflow:clip; }
.sec-features__h{ font-size:100px; font-weight:600; line-height:80px; letter-spacing:-.08em; white-space:pre; color:var(--black); }
.sec-features__w{ display:inline-block; will-change:transform,opacity,filter; }

/* label "[ ND® ‒ FEATURES / 特徴と強み ]" */
.sec-features__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-features__label-marks{ display:flex; align-items:center; flex:none; height:14px; }
.sec-features__label-marks svg{ display:block; flex:none; }
.sec-features__label-text{ display:flex; align-items:flex-end; gap:2px; height:14px; white-space:pre; }
.sec-features__label-item{ display:block; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); }
a.sec-features__label-item{ cursor:pointer; }
.sec-features__label-item--dash{ position:relative; width:7.625px; color:transparent; }
.sec-features__label-item--dash::after{ content:""; position:absolute; left:0; width:7px; top:6.2px; height:1.5px; background:var(--black); }
.sec-features__label-item--jp{ font-weight:500; color:var(--black-40); }
.sec-features__lead{ width:100%; white-space:pre-wrap; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

/* ---- bento grid ---- */
.sec-features__grid-wrap{ position:relative; width:100%; padding:0 var(--page-pad); }
.sec-features__grid-wrap::after{ content:""; position:absolute; inset:0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); pointer-events:none; }
.sec-features__grid{ display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:500px; width:100%; max-width:var(--container-max); margin:0 auto; }
@media (min-width:1200px) and (max-width:1619.98px){ .sec-features__grid{ max-width:none; } }

.sec-features__card{ position:relative; width:100%; height:500px; overflow:clip; }
.sec-features__card-in{
  position:relative; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  width:100%; height:100%; padding:40px; overflow:clip;
}
.sec-features__h4{ font-size:20px; font-weight:700; line-height:22px; letter-spacing:-.07em; color:var(--black); white-space:pre-wrap; }
.sec-features__h4--pre{ white-space:pre; }
.sec-features__h4--w{ color:#fff; }
.sec-features__p{ width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); white-space:pre-wrap; text-align:left; }
.sec-features__brand{ font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.04em; white-space:pre; color:var(--black); }
.sec-features__jp{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; white-space:pre; color:var(--black-40); }

/* ---- 1 · Turning complexity into quality ---- */
.sec-features__card--quality .sec-features__card-in::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--line-light); pointer-events:none; }
.sec-features__logo-row{ position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; width:100%; height:48px; }
.sec-features__people{ display:flex; align-items:center; flex:none; height:48px; padding:2px 8px; border-radius:27px; }
.sec-features__avatar{ position:relative; display:flex; justify-content:center; align-items:center; flex:none; width:34px; height:44px; }
.sec-features__avatar img{ position:relative; flex:none; width:44px; height:44px; max-width:none; border-radius:25px; object-fit:cover; }
.sec-features__avatar--z1 img{ z-index:1; }
.sec-features__avatar--z2 img{ z-index:2; }
.sec-features__body{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; width:100%; }
.sec-features__h4--quality{ width:80%; } /* live .framer-1houqvq width:80% (298.66px) */
.sec-features__h4--quality .split-word{ white-space:nowrap; }
.sec-features__list{ display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; }
.sec-features__row{ position:relative; display:flex; align-items:center; gap:15px; width:100%; height:48px; padding:13px 0; cursor:pointer; overflow:clip; }
.sec-features__row--info{ overflow:visible; }
.sec-features__row::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--black-05); pointer-events:none; }
.sec-features__row-main{ display:flex; align-items:center; gap:15px; height:22px; transition:gap .3s var(--ease-framer); }
.sec-features__check{
  position:relative; z-index:1; display:flex; justify-content:center; align-items:center; flex:none; width:22px; height:22px;
  border-radius:8px; background:#fff; overflow:hidden; transition:background-color .3s var(--ease-framer); /* live: fully red ~300ms after hover */
}
.sec-features__check svg{ width:16px; height:16px; stroke:#000; transition:stroke .3s var(--ease-framer); }
.sec-features__row-text{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.04em; white-space:pre; color:var(--black); }
.sec-features__row-text--info{ letter-spacing:-.05em; text-align:left; text-decoration:underline dotted rgba(0,0,0,.3); text-decoration-thickness:auto; text-underline-offset:.27em; } /* live: --framer-text-decoration-color rgba(0,0,0,.3), offset .27em */
.sec-features__info-ico{ flex:none; width:18px; height:18px; stroke:var(--black-20); }
.sec-features__tip-wrap{
  position:absolute; left:-10px; bottom:50px; z-index:1; display:flex; justify-content:center; align-items:center; gap:10px;
  pointer-events:none; user-select:none; transition:left .35s var(--ease-framer), transform .35s var(--ease-framer); /* live: settles ~300ms */
}
.sec-features__tip{
  position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px;
  width:240px; min-height:112px; padding:20px; border-radius:10px; background:var(--grey-1f); overflow:clip;
  opacity:0; filter:blur(7px); will-change:transform,filter,opacity;
  transition:opacity .25s var(--ease-framer), filter .25s var(--ease-framer); /* live: opacity 1 / blur 0 by ~200ms */
}
.sec-features__tip p{ width:200px; min-height:50px; font-size:12px; font-weight:400; line-height:18px; letter-spacing:-.02em; color:var(--white-70); white-space:pre-wrap; word-break:break-word; }
.sec-features__row--info:hover .sec-features__tip-wrap{ left:35%; transform:translateX(-50%); }
.sec-features__row--info:hover .sec-features__tip{ opacity:1; filter:blur(0px); }
/* every row (Default + Info variants) tightens the gap and turns the check red on hover (live .hover variant) */
.sec-features__row:hover .sec-features__row-main{ gap:10px; }
.sec-features__row:hover .sec-features__check{ background:var(--red); }
.sec-features__row:hover .sec-features__check svg{ stroke:#fff; }

/* ---- 2 · Phone mockup ---- */
.sec-features__card--phone .sec-features__card-in{ justify-content:center; align-items:center; padding:0; }
.sec-features__ticker-wrap{ position:absolute; top:170px; left:0; z-index:1; width:100%; height:160px; overflow:hidden; }
.sec-features__ticker{ width:100%; height:160px; overflow:hidden; }
.sec-features__ticker ul{ display:flex; justify-content:flex-start; align-items:flex-start; gap:15px; }
.sec-features__ticker li{ flex:none; }
.sec-features__tick-item{ display:flex; align-items:center; gap:10px; height:160px; padding:0 100px 0 0; overflow:clip; }
.sec-features__tick-item h2{ font-size:200px; font-weight:600; line-height:160px; letter-spacing:-.08em; white-space:pre; color:#fff; }
.sec-features__glow{ position:absolute; top:242px; left:60px; right:0; z-index:0; height:378px; overflow:clip; background:radial-gradient(50% 50% at 50% 50%, var(--black-50) 0%, rgba(0,114,156,0) 100%); }
.sec-features__phone{ position:absolute; top:33px; left:calc(50.969% - 163.5px); z-index:1; width:327px; height:517px; overflow:clip; }
.sec-features__phone img{ width:100%; height:100%; object-fit:contain; object-position:center; }

/* stat chips */
.sec-features__chip{ position:absolute; z-index:2; display:flex; justify-content:flex-start; align-items:center; gap:10px; border-radius:20px; overflow:clip; white-space:pre; will-change:transform,opacity; }
.sec-features__chip--glass{ background:var(--white-40); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.sec-features__chip--dark{ background:var(--black); }
.sec-features__chip--a{ top:73px; left:20px; padding:10px 20px 10px 10px; }
.sec-features__chip--b{ top:183px; right:20px; padding:10px 30px 10px 10px; }
.sec-features__chip--c{ top:289px; left:20px; padding:10px; }
.sec-features__chip--c .sec-features__chip-txt{ width:114px; }
.sec-features__chip--d{ top:40px; right:40px; padding:15px 30px 15px 15px; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.sec-features__chip-ico{ position:relative; flex:none; width:45px; height:45px; border-radius:30px; overflow:clip; }
.sec-features__chip-ico--red{ background:var(--red); }
.sec-features__chip-ico--black{ background:var(--black); }
.sec-features__chip-ico--w20{ background:var(--white-20); }
.sec-features__chip-ico::after{
  content:""; position:absolute; top:50%; left:50%; width:18px; height:18px; transform:translate(-50%,-50%); background:#fff;
  -webkit-mask:var(--sf-ico) alpha no-repeat center/contain; mask:var(--sf-ico) no-repeat center/contain;
}
.sec-features__ico-people{ --sf-ico:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 12.75 16.128 C 13.583 16.37 14.464 16.5 15.375 16.5 C 16.854 16.5 18.253 16.158 19.496 15.548 C 19.499 15.491 19.5 15.433 19.5 15.375 C 19.5 13.097 17.653 11.25 15.375 11.25 C 13.957 11.25 12.706 11.966 11.964 13.055 M 12.75 16.128 L 12.75 16.125 C 12.75 15.012 12.465 13.966 11.964 13.055 M 12.75 16.128 C 12.75 16.163 12.75 16.199 12.749 16.234 C 10.887 17.355 8.707 18 6.375 18 C 4.044 18 1.863 17.355 0.001 16.234 C 0 16.198 0 16.162 0 16.125 C 0 12.604 2.854 9.75 6.375 9.75 C 8.783 9.75 10.879 11.085 11.964 13.055 M 9.75 3.375 C 9.75 5.239 8.239 6.75 6.375 6.75 C 4.511 6.75 3 5.239 3 3.375 C 3 1.511 4.511 0 6.375 0 C 8.239 0 9.75 1.511 9.75 3.375 Z M 18 5.625 C 18 7.075 16.825 8.25 15.375 8.25 C 13.925 8.25 12.75 7.075 12.75 5.625 C 12.75 4.175 13.925 3 15.375 3 C 16.825 3 18 4.175 18 5.625 Z' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(2.25 3)'/%3E%3C/svg%3E"); }
.sec-features__ico-shield{ --sf-ico:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 6 10.036 L 8.25 12.286 L 12 7.036 M 9 0 C 6.85 2.037 3.946 3.286 0.75 3.286 C 0.699 3.286 0.649 3.285 0.598 3.285 C 0.21 4.465 0 5.726 0 7.036 C 0 12.627 3.824 17.326 9 18.658 C 14.176 17.326 18 12.627 18 7.036 C 18 5.726 17.79 4.465 17.402 3.285 C 17.352 3.285 17.301 3.286 17.25 3.286 C 14.054 3.286 11.15 2.037 9 0 Z' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(3 2.714)'/%3E%3C/svg%3E"); }
.sec-features__ico-trend{ --sf-ico:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 11.463 L 6.75 4.713 L 11.056 9.02 C 12.26 6.651 14.254 4.666 16.87 3.501 L 19.611 2.281 M 19.611 2.281 L 13.67 0 M 19.611 2.281 L 17.33 8.222' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(2.25 6.537)'/%3E%3C/svg%3E"); }
.sec-features__ico-clock{ --sf-ico:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 9 3 L 9 9 L 13.5 9 M 18 9 C 18 13.971 13.971 18 9 18 C 4.029 18 0 13.971 0 9 C 0 4.029 4.029 0 9 0 C 13.971 0 18 4.029 18 9 Z' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(3 3)'/%3E%3C/svg%3E"); }
.sec-features__chip-txt{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.sec-features__chip-val{ font-size:16px; font-weight:700; line-height:20.8px; letter-spacing:-.05em; white-space:pre; color:var(--black); }
.sec-features__chip-val--w{ color:#fff; }
.sec-features__chip-sub{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; white-space:pre; color:var(--black-60); }
.sec-features__chip-sub--w{ color:var(--white-40); }
.sec-features__chip-sub--50{ color:var(--black-50); }
/* green "online" dot with pulse ring */
.sec-features__dot{ position:absolute; top:15px; right:15px; z-index:1; width:6px; height:6px; }
.sec-features__dot::before,.sec-features__dot::after{ content:""; position:absolute; inset:0; border-radius:50%; background:rgb(38,235,70); }
.sec-features__dot::before{ animation:sf-pulse 1.6s ease-out infinite; }
@keyframes sf-pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(2.6); opacity:0; } }

/* ---- 3 · 13+ Years (red) ---- */
.sec-features__card--exp .sec-features__card-in{ background:var(--red); }
.sec-features__shader{ position:absolute; inset:0; z-index:0; opacity:.33; overflow:hidden; pointer-events:none; }
/* live: animated WebGL shader (framer-10yb3ej-container, opacity .33) — soft diagonal streaks, mostly darker than the base red with a few pink highlights
   (live crop mean ≈ rgb(221,49,69) vs base rgb(240,43,66)). Approximated with two blurred, slowly drifting gradient layers. */
.sec-features__shader::before,.sec-features__shader::after{
  content:""; position:absolute; inset:-45%;
  background:linear-gradient(115deg, rgb(118,16,38) 0%, rgb(188,58,78) 16%, rgb(98,8,32) 32%, rgb(200,74,92) 48%, rgb(122,20,42) 64%, rgb(214,98,114) 80%, rgb(108,12,36) 100%);
  filter:blur(30px); animation:sf-shader 11s ease-in-out infinite alternate;
}
.sec-features__shader::after{ background:linear-gradient(140deg, transparent 0%, transparent 22%, rgba(255,196,204,.42) 34%, transparent 46%, transparent 66%, rgba(255,210,216,.32) 80%, transparent 94%); animation-duration:15s; animation-direction:alternate-reverse; }
@keyframes sf-shader{ from{ transform:translate3d(-9%,-6%,0) rotate(-3deg); } to{ transform:translate3d(9%,7%,0) rotate(4deg); } }
.sec-features__exp-top{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; width:100%; height:21px; }
.sec-features__tag{ font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; white-space:pre; color:#fff; }
.sec-features__jp-w{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; white-space:pre; color:var(--white-50); }
.sec-features__exp-body{ position:relative; z-index:4; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; width:100%; }
.sec-features__big{ font-size:130px; font-weight:700; line-height:130px; letter-spacing:-.08em; white-space:pre; color:#fff; }
.sec-features__exp-lines{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; width:100%; }
.sec-features__exp-line{ font-size:30px; font-weight:700; line-height:33px; letter-spacing:-.07em; white-space:pre; color:#fff; }
.sec-features__grad{
  display:inline-block; padding:3px; margin:-3px;
  background-image:linear-gradient(90deg, #fff 0%, rgba(0,0,0,0) 144%);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
.sec-features__grad--big{ padding:19.5px; margin:-19.5px; }

/* ---- 4 · Simplicity ---- */
.sec-features__card--simple::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--black-05); pointer-events:none; }
.sec-features__card--simple .sec-features__card-in{ align-items:center; }
.sec-features__card--simple .sec-features__card-in::after{ content:""; position:absolute; inset:0; border-right:1px solid var(--line-light); pointer-events:none; }
.sec-features__simple-top{ position:relative; z-index:2; display:flex; justify-content:center; align-items:center; gap:5px; width:100%; height:22px; overflow:clip; }
.sec-features__h4--simple{ flex:1 0 0; width:1px; }
.sec-features__ring{ position:absolute; top:115px; left:56%; z-index:1; width:49%; aspect-ratio:1.08584; transform:translateX(-50%); overflow:clip; }
.sec-features__ring img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-features__simple-body{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:20px; width:100%; overflow:clip; }
.sec-features__simple-title{ display:flex; justify-content:flex-start; align-items:flex-start; gap:3px; width:100%; height:22px; overflow:clip; }

/* ---- 5 · Client Growth ---- */
.sec-features__bg{ position:absolute; inset:0; z-index:0; }
.sec-features__bg img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-features__growth-top{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; width:100%; height:22px; }
.sec-features__growth-body{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; width:100%; overflow:clip; }
.sec-features__mom{ display:flex; justify-content:center; align-items:center; gap:10px; height:19.6px; overflow:clip; }
.sec-features__arrow{
  flex:none; width:16px; height:16px; background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 6.75 15 L 6.75 0 M 6.75 0 L 0 6.75 M 6.75 0 L 13.5 6.75' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(5.25 4.5)'/%3E%3C/svg%3E") alpha no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 6.75 15 L 6.75 0 M 6.75 0 L 0 6.75 M 6.75 0 L 13.5 6.75' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(5.25 4.5)'/%3E%3C/svg%3E") no-repeat center/contain;
}
.sec-features__mom p{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.04em; white-space:pre; color:var(--white-30); }
.sec-features__counter{ position:relative; height:87px; }
.sec-features__counter-in{ display:inline-flex; align-items:center; height:84px; font-size:70px; font-weight:700; line-height:56px; color:#fff; font-feature-settings:"ss07"; }
.sec-features__digits{ display:inline-flex; align-items:center; height:84px; }
.sec-features__digit{
  position:relative; display:inline-flex; justify-content:center; width:43.4px; height:84px; overflow:hidden;
  -webkit-mask-image:linear-gradient(transparent 0%, #000 18%, #000 82%, transparent 100%); mask-image:linear-gradient(transparent 0%, #000 18%, #000 82%, transparent 100%);
}
.sec-features__digit-track{ position:absolute; top:0; right:0; display:block; width:100%; will-change:transform; }
.sec-features__digit-track span{ display:flex; justify-content:center; align-items:center; height:84px; line-height:70px; color:#fff; }
.sec-features__pct{ margin-left:5.6px; line-height:1; }
.sec-features__growth-sub{ width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; white-space:pre-wrap; text-align:left; color:var(--white-50); }

/* ---- 6 · Faster Execution ---- */
.sec-features__exec-top{ position:relative; z-index:1; display:flex; justify-content:flex-start; align-items:center; gap:10px; width:100%; height:23.4px; overflow:clip; }
.sec-features__wheel{ position:absolute; top:42px; left:40px; z-index:1; width:87%; height:376px; overflow:clip; }
.sec-features__wheel img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-features__exec-body{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:20px; width:100%; overflow:clip; }
.sec-features__exec-body .sec-features__h4{ width:100%; }

/* ---- static mode (?static=1): freeze looping CSS animations ---- */
.sec-features.is-static .sec-features__dot::before,
.sec-features.is-static .sec-features__shader::before,
.sec-features.is-static .sec-features__shader::after{ animation-play-state:paused; }

/* ---- responsive (secondary) ---- */
@media (min-width:810px) and (max-width:1199.98px){
  .sec-features__title{ justify-content:flex-start; align-items:flex-start; padding:100px var(--page-pad) 50px; }
  .sec-features__heading{ flex:1 0 0; padding:0; }
  .sec-features__h{ font-size:70px; line-height:60px; }
  .sec-features__lines{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-features__lines .sec-features__col:last-child{ display:none; }
  .sec-features__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); grid-auto-rows:420px; }
  .sec-features__card{ height:420px; }
  .sec-features__card--simple{ border-top:1px solid var(--black-05); }
}
@media (max-width:809.98px){
  .sec-features__title{ flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; padding:100px var(--page-pad) 50px; }
  .sec-features__sub,.sec-features__heading{ flex:none; width:100%; align-self:auto; gap:20px; padding:0; }
  .sec-features__h{ font-size:50px; line-height:45px; white-space:normal; }
  .sec-features__lines{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-features__lines .sec-features__col:not(:first-child){ display:none; }
  .sec-features__grid{ display:flex; flex-direction:column; }
  .sec-features__card{ height:450px; }
  .sec-features__card-in{ padding:30px; }
  .sec-features__card--phone .sec-features__card-in{ padding:0; }
}

/* ==== css/sections/10-pricing.css ==== */
/* ==========================================================================
   10 — Pricing ("Packages")  · light section, 3-column grid, 1498.8px tall @1440
   Measured on neiden.framer.media (dom.json 2725-section-pricing)
   ========================================================================== */
.sec-pricing{
  position:relative; width:100%; padding:150px 0; overflow:clip;
  display:flex; flex-direction:column; align-items:center; gap:40px;
  background:var(--black-05); color:var(--black);
}

/* ---- background hairline columns (absolute, full height) ---- */
.sec-pricing__bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); padding:0 var(--page-pad);
}
.sec-pricing__bgcol{ position:relative; height:100%; }
.sec-pricing__bgcol::after{ content:""; position:absolute; top:0; bottom:0; right:0; width:1px; background:var(--line-light); }
.sec-pricing__bgcol--1::before{ content:""; position:absolute; top:0; bottom:0; left:0; width:1px; background:var(--line-light); }

/* ---- "NO HIDDEN FEES" (absolute, bottom centre) ---- */
.sec-pricing__fees{ position:absolute; left:50%; bottom:30px; z-index:1; transform:translateX(-50%); white-space:pre; color:var(--black); }

/* ---- wrapper ---- */
.sec-pricing__wrap{ position:relative; z-index:1; width:100%; padding:0 var(--page-pad); display:flex; flex-direction:column; align-items:center; }

/* ---- Title block: label + lead (col 1) and "Packages" (cols 2-3) ---- */
.sec-pricing__title{ width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); padding-bottom:50px; border-radius:10px; }
.sec-pricing__intro{ display:flex; flex-direction:column; gap:30px; align-self:start; overflow:clip; }
.sec-pricing__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-pricing__chev{ display:flex; align-items:center; width:40px; height:14px; flex:none; }
.sec-pricing__chev svg{ flex:none; height:14px; }
.sec-pricing__brackets{ display:flex; align-items:flex-end; gap:2px; height:14px; white-space:pre; }
.sec-pricing__brackets > span{ display:block; }
.sec-pricing__lead{ display:flex; flex-direction:column; color:var(--black-70); }
.sec-pricing__lead p{ white-space:pre-wrap; }
.sec-pricing__h2wrap{ grid-column:span 2; display:flex; align-items:center; justify-content:center; padding-bottom:22px; overflow:clip; }
.sec-pricing__h2{ width:100%; white-space:pre-wrap; }
.sec-pricing__h2 > span{ display:inline-block; }

/* ---- Switcher (monthly / annual) ---- */
.sec-pricing__switcher{ position:relative; z-index:2; width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:43px; padding-bottom:40px; }
.sec-pricing__switcher-side{ height:100%; overflow:clip; }
.sec-pricing__switch{ display:flex; align-items:center; justify-content:center; gap:30px; padding:0 40px; }
.sec-pricing__toggle{ display:flex; align-items:center; gap:10px; cursor:pointer; padding:0; height:43px; }
.sec-pricing__toggle-label{ display:block; white-space:pre; color:var(--black); transition:color .2s cubic-bezier(.25,.5,.35,1) .06s; }
.sec-pricing__toggle-label--a{ color:var(--black-50); }
.sec-pricing.is-annual .sec-pricing__toggle-label--m{ color:var(--black-50); }
.sec-pricing.is-annual .sec-pricing__toggle-label--a{ color:var(--black); }
.sec-pricing__track{ position:relative; display:block; width:77px; height:43px; border-radius:50px; flex:none; }
.sec-pricing__track::after{ content:""; position:absolute; inset:0; border:1px solid var(--black-20); border-radius:inherit; pointer-events:none; }
.sec-pricing__knob{
  position:absolute; top:4px; left:4px; width:35px; height:35px; border-radius:50px; background:var(--black);
  box-shadow:rgba(0,0,0,.19) .5px 1px 1.13px -.47px, rgba(0,0,0,.18) 1.19px 2.39px 2.67px -.94px, rgba(0,0,0,.18) 2.18px 4.36px 4.87px -1.41px,
             rgba(0,0,0,.17) 3.62px 7.24px 8.1px -1.88px, rgba(0,0,0,.16) 5.85px 11.7px 13.08px -2.34px, rgba(0,0,0,.15) 9.57px 19.15px 21.41px -2.81px,
             rgba(0,0,0,.12) 16.49px 32.97px 36.86px -3.28px, rgba(0,0,0,.06) 30px 60px 67.08px -3.75px;
  transition:left .32s cubic-bezier(.4,.9,.2,1.1) .02s, transform .3s cubic-bezier(.2,.8,.2,1); will-change:transform;
}
.sec-pricing__toggle:hover .sec-pricing__knob{ transform:scale(1.12); }
.sec-pricing.is-annual .sec-pricing__knob{ left:38px; }
.sec-pricing__save{ position:relative; display:flex; align-items:center; justify-content:center; padding:8px 13px 8px 10px; border-radius:15px; overflow:clip; background:rgba(255,255,255,0); transition:background-color .3s ease; }
.sec-pricing__save > span{ display:block; white-space:pre; color:var(--black); }
.sec-pricing__save::after{ content:""; position:absolute; inset:0; border:1px solid var(--black-10); border-radius:inherit; pointer-events:none; transition:border-color .3s ease; }
.sec-pricing.is-annual .sec-pricing__save{ background:#fff; }
.sec-pricing.is-annual .sec-pricing__save::after{ border-color:transparent; }

/* ---- Cards grid ---- */
.sec-pricing__grid{ width:100%; max-width:1550px; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); }
.sec-pricing__col{ position:relative; display:flex; align-items:center; justify-content:center; }
.sec-pricing__col--side{ align-self:center; }
.sec-pricing__col--2{ overflow:clip; }
.sec-pricing__dot{ position:absolute; z-index:1; width:4px; height:4px; background:var(--black); overflow:clip; }
.sec-pricing__dot--tl{ top:-2px; left:-2px; }
.sec-pricing__dot--bl{ bottom:-2px; left:-2px; }
.sec-pricing__dot--tr{ top:-2px; right:-2px; }
.sec-pricing__dot--br{ bottom:-2px; right:-2px; }

.sec-pricing__card{ position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:40px 0 0; overflow:clip; }
.sec-pricing__card::after{ content:""; position:absolute; inset:0; border-top:1px solid var(--black-10); border-bottom:1px solid var(--black-10); pointer-events:none; }

/* head */
.sec-pricing__head{ position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:30px; padding:0 20px 20px; }
.sec-pricing__head::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--black-10); pointer-events:none; }
.sec-pricing__num{ display:flex; align-items:center; gap:3px; height:14px; overflow:clip; white-space:pre; }
.sec-pricing__num > span{ display:block; }
.sec-pricing__tb{ width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.sec-pricing__trow{ display:flex; align-items:flex-start; gap:30px; height:36px; }
.sec-pricing__name{ font-size:30px; font-weight:700; line-height:36px; letter-spacing:-.04em; white-space:pre; }
.sec-pricing__pop{ position:relative; z-index:1; display:flex; align-items:center; justify-content:flex-end; gap:5px; padding:8px 12px 8px 10px; border-radius:15px; overflow:hidden; background:var(--red); color:#fff; white-space:pre; }
.sec-pricing__desc{ width:100%; color:var(--black-70); white-space:pre-wrap; text-align:left; }
.sec-pricing__price{ width:100%; display:flex; align-items:flex-end; gap:7px; height:50px; }
.sec-pricing__amount{ display:flex; align-items:flex-start; gap:5px; height:50px; }
.sec-pricing__cur{ display:flex; align-items:center; justify-content:center; height:30px; padding-top:18px; }
.sec-pricing__cur > span{ display:block; font-size:30px; font-weight:600; line-height:36px; letter-spacing:-.04em; white-space:pre; }
.sec-pricing__digits{ display:flex; align-items:center; gap:10px; height:50px; padding-bottom:10px; }
.sec-pricing__odo{ display:flex; align-items:flex-start; height:40px; }
.sec-pricing__odo-inner{ display:inline-flex; align-items:center; height:60px; font-size:50px; font-weight:700; line-height:40px; }
.sec-pricing__digit{ position:relative; display:inline-flex; justify-content:center; width:31px; height:60px; overflow:hidden; }
.sec-pricing__strip{ position:absolute; top:0; left:0; width:100%; will-change:transform; }
.sec-pricing__strip > span{ display:flex; align-items:center; justify-content:center; height:60px; line-height:50px; }
.sec-pricing__comma{ display:block; line-height:50px; opacity:.4; }
.sec-pricing__per{ display:flex; align-items:center; justify-content:center; height:15px; padding-bottom:3px; color:var(--black-50); white-space:pre; }

/* body */
.sec-pricing__body{ position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:center; padding:0 20px 20px; }
.sec-pricing__sub{ width:100%; display:flex; align-items:center; height:32px; padding-bottom:20px; color:var(--black-50); white-space:pre; }
.sec-pricing__sub--extras{ height:52px; padding:20px 0; }
.sec-pricing__list{ width:100%; }
.sec-pricing__row{ position:relative; width:100%; display:flex; align-items:center; gap:15px; padding:13px 0; cursor:pointer; }
.sec-pricing__row::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--black-05); pointer-events:none; }
.sec-pricing__row-in{ display:flex; align-items:center; gap:15px; transition:gap .3s cubic-bezier(.3,.6,.3,1.1); }
.sec-pricing__row:hover .sec-pricing__row-in{ gap:10px; }
.sec-pricing__ic{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:8px; overflow:hidden; background:#fff; color:var(--black); flex:none; transition:background-color .15s cubic-bezier(.6,.5,0,.6), color .15s cubic-bezier(.6,.5,0,.6); }
.sec-pricing__ic svg{ width:16px; height:16px; }
.sec-pricing__row:hover .sec-pricing__ic{ background:var(--red); color:#fff; transition:background-color .21s cubic-bezier(.4,.2,.3,1) .015s, color .21s cubic-bezier(.4,.2,.3,1) .015s; }
.sec-pricing__row--red .sec-pricing__ic{ background:var(--red); color:#fff; }
.sec-pricing__row--red:hover .sec-pricing__ic{ background:var(--black); }
.sec-pricing__row--dark .sec-pricing__ic{ background:var(--black); color:#fff; }
.sec-pricing__row--dark:hover .sec-pricing__ic{ background:var(--red); }
.sec-pricing__row--off{ cursor:auto; }
.sec-pricing__row--off .sec-pricing__ic,
.sec-pricing__row--off:hover .sec-pricing__ic{ background:transparent; color:var(--black-40); }
.sec-pricing__row--off:hover .sec-pricing__row-in{ gap:15px; }
.sec-pricing__row-t{ display:block; white-space:pre; color:var(--black); text-align:left; }
.sec-pricing__row-t--u{ letter-spacing:-.05em; text-decoration:underline dotted rgba(0,0,0,.3); text-underline-offset:3.78px; }
.sec-pricing__row-t--h{ letter-spacing:-.05em; color:var(--black-40); }
.sec-pricing__row--info{ overflow:visible; }
.sec-pricing__info-ic{ width:18px; height:18px; flex:none; color:var(--black-20); transition:color .3s ease; }
.sec-pricing__row--info:hover .sec-pricing__info-ic{ color:var(--black-60); }
.sec-pricing__tip{ position:absolute; z-index:2; left:-10px; bottom:50px; width:240px; transform:none; pointer-events:none; } /* live: `.hover .framer-717ya1{left:35%}` is a plain CSS rule → position switches instantly, only opacity/blur animate */
.sec-pricing__row--info:hover .sec-pricing__tip{ left:35%; transform:translateX(-50%); }
.sec-pricing__tip-in{
  display:block; padding:20px; border-radius:10px; background:var(--grey-1f); color:var(--white-70);
  font-size:12px; font-weight:400; line-height:18px; letter-spacing:-.02em; white-space:pre-wrap; text-align:left;
  opacity:0; filter:blur(7px); transition:opacity .19s cubic-bezier(.3,.4,.4,1) .02s, filter .19s cubic-bezier(.3,.4,.4,1) .02s; will-change:transform;
}
.sec-pricing__row--info:hover .sec-pricing__tip-in{ opacity:1; filter:blur(0); transition:opacity .19s cubic-bezier(.3,.4,.4,1) .02s, filter .19s cubic-bezier(.3,.4,.4,1) .02s; }

/* stack: button + timeframe */
.sec-pricing__stack{ width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:30px; padding-top:40px; }
.sec-pricing__btn{
  position:relative; width:100%; height:60px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:clip; cursor:pointer;
  background:#fff; color:var(--black);
  /* hover-out (measured live): 60% in 85ms then a long tail, done ≈.6s */
  transition:background-color .6s cubic-bezier(.2,.9,.2,1);
}
/* hover-in (measured live): exponential-like decay, 42%@.2s 76%@.36s 94%@.55s, done ≈.66s; text colour swaps instantly
   (the letters re-slide, see js), the + icon fades on its own quicker curve */
.sec-pricing__btn:hover{ background:var(--black); color:#fff; transition:background-color .8s cubic-bezier(.3,.5,.2,1) .03s; }
.sec-pricing__btn--red{ background:var(--red); color:#fff; }
.sec-pricing__btn--red:hover{ background:var(--black); color:#fff; }
.sec-pricing__btn-t{ position:relative; z-index:1; display:block; white-space:pre; overflow:clip; pointer-events:none; color:var(--black); }
.sec-pricing__btn:hover .sec-pricing__btn-t, .sec-pricing__btn--red .sec-pricing__btn-t{ color:#fff; }
.sec-pricing__plus{ position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; pointer-events:none; color:var(--black); transition:color .7s cubic-bezier(.25,.15,.1,.9); }
.sec-pricing__btn:hover .sec-pricing__plus{ color:#fff; transition:color .45s cubic-bezier(.2,1,.5,1) .02s; }
.sec-pricing__btn--red .sec-pricing__plus{ color:#fff; }
.sec-pricing__plus svg{ width:20px; height:20px; }
.sec-pricing__time{ display:flex; align-items:center; gap:10px; width:100%; height:21px; overflow:clip; color:var(--black); }
.sec-pricing__time > svg{ width:18px; height:18px; flex:none; }
.sec-pricing__time-t{ display:flex; align-items:center; white-space:pre; }
.sec-pricing__time-t > span{ display:block; }
.sec-pricing__time-l{ color:var(--black-40); }

/* ---- smaller viewports (secondary) ---- */
@media (max-width:1199.98px){
  .sec-pricing{ padding:100px 0; }
  .sec-pricing__title,.sec-pricing__switcher,.sec-pricing__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-pricing__bg{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-pricing__bgcol--3{ display:none; }
  .sec-pricing__h2wrap{ grid-column:span 1; }
  .sec-pricing__switch{ grid-column:span 2; }
  .sec-pricing__col--2{ grid-column:span 2; order:-1; }
  .sec-pricing__col--side{ align-self:stretch; }
}
@media (max-width:809.98px){
  .sec-pricing{ padding:80px 0; }
  .sec-pricing__title,.sec-pricing__switcher,.sec-pricing__grid,.sec-pricing__bg{ grid-template-columns:1fr; }
  .sec-pricing__bgcol--2{ display:none; }
  .sec-pricing__h2wrap{ grid-column:span 1; padding-top:40px; }
  .sec-pricing__h2{ font-size:60px; line-height:.9; }
  .sec-pricing__switch{ grid-column:span 1; padding:0; }
  .sec-pricing__col--2{ grid-column:span 1; }
}

/* ==== css/sections/11-timeline.css ==== */
/* ==========================================================================
   11 — Timeline ("The Journey") — measured at 1440×900 (1200–1619 breakpoint)
   Dark (#191919) section, 3-column lined grid; column 1 = title + quote,
   columns 2–3 = sticky photo card (413×300, top:150) + 4 milestones with a
   red progress line that grows 25% per milestone as its scroll anchor passes
   the viewport centre.
   ========================================================================== */
.sec-timeline{
  position:relative; display:flex; justify-content:center; align-items:center; gap:10px;
  width:100%; padding:0 var(--page-pad); background:var(--grey-19); color:var(--white);
  font-family:var(--font-sans); overflow:clip;
}
.sec-timeline__inner{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  grid-template-rows:repeat(1,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; gap:0;
  width:100%; max-width:var(--container-max); padding:150px 0 0; overflow:clip;
}

/* ---- lined grid ---- */
.sec-timeline__grid{
  position:absolute; top:0; left:calc(50% - min(1550px,100%)/2); z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); gap:0;
  width:100%; max-width:1550px; height:100%; overflow:clip; pointer-events:none;
}
.sec-timeline__col{ height:100%; border-right:1px solid var(--line-dark); }
.sec-timeline__col--first{ border-left:1px solid var(--line-dark); }

/* ---- title block (column 1) ---- */
.sec-timeline__title{
  position:relative; z-index:1; grid-column:1; place-self:start;
  display:flex; flex-direction:column; align-items:flex-start; gap:150px; width:100%;
}
.sec-timeline__head{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }

/* label "[ ND® ‒ TIMELINE / 歩みの記録 ]" */
.sec-timeline__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-timeline__label-icons{ display:flex; align-items:center; height:14px; }
.sec-timeline__label-icons svg{ display:block; height:14px; flex:none; overflow:visible; }
.sec-timeline__label-icons path{ fill:var(--red); }
.sec-timeline__label-text{
  display:flex; align-items:flex-end; gap:2px;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.56px; text-transform:uppercase; white-space:pre; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* ss07 = alternate figures (presets 16x0xso / 1x9173r / 1l3oc22 on the live site) */
}
.sec-timeline__label-text a{ cursor:pointer; }
.sec-timeline__label-jp{ font-weight:500; color:var(--white-30); }

.sec-timeline__h2{
  width:100%; font-size:100px; font-weight:600; line-height:80px; letter-spacing:-8px;
  color:var(--white); white-space:pre-wrap;
}
.sec-timeline__lead{ font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.8px; color:var(--white-30); white-space:pre; }

/* quote */
.sec-timeline__quote{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; width:100%; }
.sec-timeline__qsym{ display:flex; justify-content:center; align-items:center; gap:10px; height:35px; padding:0 0 0 50px; }
.sec-timeline__qsym svg{ display:block; width:44px; height:35px; overflow:visible; }
.sec-timeline__qtext{
  width:81%; margin:0; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.72px;
  color:var(--white); white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
}
.sec-timeline__author{ position:relative; z-index:1; display:flex; align-items:center; gap:20px; overflow:hidden; }
.sec-timeline__avatar{ position:relative; flex:none; width:60px; height:60px; border-radius:60px; overflow:hidden; }
.sec-timeline__avatar img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-timeline__author-text{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.sec-timeline__author-name{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; color:var(--white); white-space:pre; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-timeline__author-role{ display:flex; align-items:center; gap:3px; font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.56px; color:var(--white-50); white-space:pre; }

/* ---- timeline block (columns 2–3) ---- */
.sec-timeline__block{
  position:relative; z-index:1; grid-column:span 2; place-self:start;
  display:flex; justify-content:center; align-items:center; gap:10px; width:100%; overflow:clip;
}
.sec-timeline__anchor{ position:absolute; left:0; z-index:-1; width:100%; height:100px; overflow:clip; pointer-events:none; }
.sec-timeline__anchor[data-anchor="1"]{ top:0; }
.sec-timeline__anchor[data-anchor="2"]{ top:340px; }
.sec-timeline__anchor[data-anchor="3"]{ top:680px; }
.sec-timeline__anchor[data-anchor="4"]{ top:1020px; }

.sec-timeline__big{
  position:relative; flex:1 0 0; width:1px; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr));
  grid-template-rows:repeat(1,min-content); grid-auto-rows:min-content; justify-content:center; gap:0; overflow:clip;
}

/* sticky photo card */
.sec-timeline__photo-col{
  position:relative; z-index:2; place-self:start; display:flex; align-items:flex-start;
  width:100%; max-width:1550px; height:100%; padding:0 40px 0 0; overflow:clip;
}
.sec-timeline__sticky{ position:sticky; top:150px; width:100%; max-width:100%; }
.sec-timeline__photos{ position:relative; display:flex; align-items:center; gap:10px; width:100%; }
.sec-timeline__photo{
  position:absolute; top:0; left:0; z-index:1; width:380px; max-width:100%; aspect-ratio:1.26667;
  overflow:clip; opacity:0; will-change:opacity;
}
.sec-timeline__photo:first-child{ position:relative; }
.sec-timeline__photo.is-on{ opacity:1; }
.sec-timeline__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
/* 63×63 corner cut (dark triangle, rotated -90° like the original) */
.sec-timeline__photo::after{
  content:""; position:absolute; top:0; left:0; width:63px; height:63px;
  background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 63 63%22 overflow=%22visible%22><path d=%22M 0 0 L 63 63 L 63 0 Z%22 fill=%22rgb(25, 25, 25)%22></path></svg>") 0 0 / 100% 100% no-repeat;
  transform:rotate(-90deg);
}

/* milestones */
.sec-timeline__list{
  position:relative; z-index:2; place-self:start; display:flex; flex-direction:column; align-items:flex-start;
  gap:0; width:100%; max-width:1550px;
}
.sec-timeline__line{ position:absolute; top:0; left:-1px; z-index:1; width:2px; height:1px; background:var(--red); overflow:clip; }
.sec-timeline__item{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:40px;
  width:100%; padding:0 40px 150px;
}
.sec-timeline__dot{ position:absolute; top:0; left:-4px; z-index:1; display:block; width:8px; height:8px; background:var(--red); }
.sec-timeline__date-row{ position:relative; z-index:1; display:flex; align-items:center; gap:10px; overflow:clip; }
.sec-timeline__date{
  font-size:14px; font-weight:500; line-height:14px; letter-spacing:-.56px; text-transform:uppercase; white-space:pre;
  color:var(--white-20); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* preset 1l3oc22: ss07 alternate figures (flat-top 3, wider 1) */
}
.sec-timeline__body{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:20px; width:100%; overflow:clip; }
.sec-timeline__h3{
  width:100%; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.72px;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; color:var(--white-20);
}
.sec-timeline__desc{
  width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.8px;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; color:var(--white-20);
}
/* active milestone (variant "Active": white / white / white 50%) — colours switch instantly on the live site */
.sec-timeline__item.is-active .sec-timeline__date,
.sec-timeline__item.is-active .sec-timeline__h3{ color:var(--white); }
.sec-timeline__item.is-active .sec-timeline__desc{ color:var(--white-50); }

/* ---- responsive (secondary) ---- */
@media (max-width:1199.98px){
  .sec-timeline__inner{ display:flex; flex-direction:column; align-items:center; gap:100px; padding:100px 0 0; }
  .sec-timeline__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-timeline__col:last-child{ display:none; }
  .sec-timeline__title{ flex-direction:row; gap:0; }
  .sec-timeline__head,.sec-timeline__quote{ flex:1 0 0; width:1px; gap:30px; }
  .sec-timeline__qtext{ width:100%; }
  .sec-timeline__qsym svg{ width:38px; height:30px; }
  .sec-timeline__anchor[data-anchor="2"]{ top:320px; }
  .sec-timeline__anchor[data-anchor="3"]{ top:640px; }
  .sec-timeline__anchor[data-anchor="4"]{ top:980px; }
}
@media (max-width:809.98px){
  .sec-timeline{ flex-direction:column; }
  .sec-timeline__inner{ overflow:visible; }
  .sec-timeline__grid{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-timeline__col:nth-child(2){ display:none; }
  .sec-timeline__title{ flex-direction:column; gap:40px; }
  .sec-timeline__head,.sec-timeline__quote{ flex:none; width:100%; gap:20px; }
  .sec-timeline__h2{ font-size:70px; line-height:60px; letter-spacing:-5px; }
  .sec-timeline__block{ overflow:visible; }
  .sec-timeline__big{ grid-template-columns:repeat(1,minmax(50px,1fr)); overflow:visible; }
  .sec-timeline__photo-col{ height:auto; padding:0 0 40px; }
  .sec-timeline__sticky{ position:relative; top:auto; }
  .sec-timeline__item{ padding:0 20px 100px; }
  .sec-timeline__anchor[data-anchor="2"]{ top:350px; }
  .sec-timeline__anchor[data-anchor="3"]{ top:680px; }
  .sec-timeline__anchor[data-anchor="4"]{ top:1010px; }
}

/* ==== css/sections/12-facts.css ==== */
/* ==========================================================================
   12 — Facts · red band (#f02b42), 343px tall @1440, 3 equal columns with
   1px white/10% side rules, small labels top, odometer counters bottom.
   Measured on neiden.framer.media (dom.json 3426-section-facts)
   ========================================================================== */
.sec-facts{
  position:relative; width:100%; overflow:clip;
  display:flex; flex-direction:row; justify-content:center; align-items:center; gap:10px;
  padding:0 var(--page-pad);
  background:var(--red); color:var(--white);
}
.sec-facts__inner{
  position:relative; z-index:2; width:100%; max-width:var(--container-max);
  display:flex; flex-direction:row; justify-content:center; align-items:flex-start; overflow:clip;
}

/* ---- columns: flex 1, 343px tall, 30px padding, 1px side rules (::after, like Framer's data-border) ---- */
.sec-facts__col{
  position:relative; flex:1 0 0; width:1px; height:343px; align-self:stretch;
  display:flex; flex-direction:row; justify-content:center; align-items:center; gap:10px;
  padding:30px;
}
.sec-facts__col::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  border-left:1px solid var(--white-10); border-right:1px solid var(--white-10);
}

/* ---- fact item: label row (top) + counter (bottom), 140px gap, centred vertically ---- */
.sec-facts__item{
  position:relative; flex:1 0 0; width:1px; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:140px;
}
.sec-facts__head{
  position:relative; width:100%; overflow:clip;
  display:flex; flex-direction:row; justify-content:space-between; align-items:flex-start;
}
.sec-facts__index{ display:flex; align-items:center; gap:10px; }
.sec-facts__label{ display:flex; flex-direction:column; align-items:flex-start; width:min-content; }
.sec-facts__index,
.sec-facts__label p{
  font-family:var(--font-sans); font-size:14px; font-weight:600; line-height:1.4em; letter-spacing:-.04em;
  color:var(--white); white-space:pre;
  /* live preset h3n2e3 adds "ss07" (alternate "1" glyph: "01." = 17.06px wide, "03." = 19.72px) */
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* ---- counter (odometer) ---- */
.sec-facts__counter{ position:relative; width:min-content; height:75px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; }
.sec-facts__num{
  display:flex; flex-direction:row; align-items:center; height:72px;
  font-family:var(--font-sans); font-size:60px; font-weight:700; line-height:.8em; letter-spacing:0; color:var(--white); white-space:pre;
  font-feature-settings:"ss07" on; font-variant-numeric:tabular-nums;
}
.sec-facts__digits{ display:flex; flex-direction:row; align-items:center; height:72px; }
.sec-facts__suffix{ margin-left:.08em; }  /* 4.8px gap digits → suffix (measured) */
.sec-facts__suffix,
.sec-facts__sep{ display:block; line-height:1; }
.sec-facts__sep{ opacity:.4; }
/* one digit window = 0.62em × 1.2em (37.19 × 72 px @60px) with a vertical fade mask;
   the strip of 0…n rolls upward 1.2em per digit */
.sec-facts__dw{
  position:relative; display:flex; justify-content:center; width:.62em; height:1.2em; overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
          mask-image:linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
}
/* windows whose strip is a single "0" (never roll) carry no mask on the live site */
.sec-facts__dw--fixed{ -webkit-mask-image:none; mask-image:none; }
.sec-facts__strip{ position:absolute; top:0; left:0; width:100%; will-change:transform; }
.sec-facts__strip > span{ display:flex; align-items:center; justify-content:center; height:1.2em; line-height:1; }

/* ---- tablet / mobile: columns stack ---- */
@media (max-width:1199.98px){
  .sec-facts__inner{ flex-direction:column; }
  .sec-facts__col{ flex:none; width:100%; align-self:auto; }
}
@media (max-width:809.98px){
  .sec-facts{ flex-direction:column; }
  .sec-facts__col{ height:auto; }
  .sec-facts__col::after{ border-bottom:1px solid var(--white-20); border-color:var(--white-20); }
  .sec-facts__item{ justify-content:flex-start; gap:100px; height:auto; }
}

/* ---- ≥1620 ("Variant 1" in the tree): 40px column padding, 70px digits (84px windows) ---- */
@media (min-width:1620px){
  .sec-facts__col{ padding:40px; }
  .sec-facts__num{ font-size:70px; }
}

/* ==== css/sections/13-our-team.css ==== */
/* ==========================================================================
   13 — Our Team ("Behind Neiden.")  light section, 1075.6px @1440
   Measured from neiden.framer.media (dom.json): section padding 0 40px 150px,
   title 150/80 padding, 4 portrait cards 325×450 in a #f2f2f2 box with 40/30 padding.
   Motion (fitted on the live site with rAF sampling): subheading + box = spring 2s bounce 0, delay .2;
   cards = 1.7s outExpo y70, delay .2; portrait = scale 1.7→1 1.4s cb(0,.55,.45,1) no delay; marquee 50px/s.
   Card hover (enter and leave) = .55s cubic-bezier(.7,.1,.5,1); icon hover = .65s cubic-bezier(.25,1,.3,1).
   ========================================================================== */
.sec-our-team{
  --team-ease: cubic-bezier(.7,.1,.5,1);   /* fitted on the live hover (enter + leave, 0.55s) */
  --team-dur: .55s;
  position:relative; z-index:0; width:100%;
  display:flex; flex-direction:column; align-items:center;
  padding:0 var(--page-pad) 150px;
  background:var(--black-05); color:var(--black);
  overflow:clip;
}

/* ---- Corner fact ("EST. 2019") — mix-blend difference like the source ---- */
.sec-our-team__facts{ position:absolute; inset:0; z-index:0; overflow:clip; mix-blend-mode:difference; pointer-events:none; }
.sec-our-team__fact{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:1;
  display:flex; align-items:center; justify-content:center; gap:10px; overflow:clip; mix-blend-mode:difference;
}
.sec-our-team__fact p{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black); }
.sec-our-team__fact-dim{ color:var(--black-50); }

/* ---- 3 hairline columns ---- */
.sec-our-team__cols{
  position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:0;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); overflow:clip; pointer-events:none;
}
.sec-our-team__col{ position:relative; height:100%; overflow:clip; }
.sec-our-team__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-our-team__col--1::after{ border-left-width:1px; }

/* ---- Title row ---- */
.sec-our-team__title{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; align-items:flex-end; padding:150px 0 80px;
}
.sec-our-team__sub{
  flex:1 0 0; min-width:0; align-self:stretch;
  display:flex; flex-direction:column; align-items:flex-start; gap:30px;
}
.sec-our-team__tag{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); cursor:pointer; text-decoration:none; }
.sec-our-team__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-our-team__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-our-team__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-our-team__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-our-team__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-our-team__desc{ width:100%; font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--black-70); }

.sec-our-team__heading{
  flex:2 0 0; min-width:0;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:23px;
}
.sec-our-team__marquee{ position:relative; display:flex; width:100%; overflow:hidden; }
.sec-our-team__marquee ul{ display:flex; align-items:flex-start; gap:15px; width:max-content; }
.sec-our-team__marquee-item{ display:flex; align-items:center; gap:10px; width:max-content; padding:0 100px 0 0; overflow:clip; }
.sec-our-team__h2{ font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; color:var(--black); white-space:nowrap; }

/* ---- Team members box ---- */
.sec-our-team__members{ position:relative; z-index:1; width:100%; max-width:var(--container-max); display:flex; flex-direction:column; align-items:flex-start; gap:1px; }
.sec-our-team__box{
  position:relative; width:100%;
  display:flex; justify-content:center; align-items:flex-start;
  padding:40px 30px; background:var(--grey-f2);
}
.sec-our-team__box::after{ content:""; position:absolute; inset:0; border:1px solid var(--line-light); pointer-events:none; }
.sec-our-team__dot{ position:absolute; z-index:1; width:4px; height:4px; background:var(--black); overflow:clip; }
.sec-our-team__dot--tl{ top:-2px; left:-2px; }
.sec-our-team__dot--tr{ top:-2px; right:-2px; }
.sec-our-team__dot--bl{ bottom:-2px; left:-2px; }
.sec-our-team__dot--br{ bottom:-2px; right:-2px; }
/* diagonal cut on the first portrait: 63×63 triangle in the box colour */
.sec-our-team__corner{
  position:absolute; top:39px; left:29px; z-index:2; width:63px; height:63px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'%3E%3Cpath d='M0 0H63L0 63Z' fill='%23f2f2f2'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
}

/* ---- Card ---- */
.sec-our-team__card{ position:relative; z-index:1; flex:1 1 0; min-width:0; overflow:hidden; cursor:pointer; }
.sec-our-team__stack{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; overflow:hidden; }
.sec-our-team__image{ position:relative; width:100%; height:450px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; }
.sec-our-team__pattern{
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='126' height='126'%3E%3Cpath d='M126 0v21.584L21.584 126H0v-17.585L108.415 0H126Zm0 108.414V126h-17.586L126 108.414Zm0-84v39.171L63.585 126H24.414L126 24.414Zm0 42v39.17L105.584 126h-39.17L126 66.414ZM105.586 0 0 105.586V66.415L66.415 0h39.171Zm-42 0L0 63.586V24.415L24.415 0h39.171Zm-42 0L0 21.586V0h21.586Z' fill='rgba(136,136,136,0.2)' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-size:64px auto;   /* live: background-size 64px auto */
}
.sec-our-team__photo{ position:relative; width:100%; height:450px; overflow:hidden; will-change:transform; }
.sec-our-team__photo-img{
  display:block; width:100%; height:100%; object-fit:cover;
  transition:transform var(--team-dur) var(--team-ease), filter var(--team-dur) var(--team-ease);
}
.sec-our-team__card:hover .sec-our-team__photo-img{ transform:scale(1.2); filter:blur(4px); }

.sec-our-team__thumb{
  position:absolute; top:50px; right:30px; z-index:3; width:29%; aspect-ratio:.797778; overflow:hidden;
  opacity:0; transform:scale(1.3); filter:blur(8px);
  transition:opacity var(--team-dur) var(--team-ease), transform var(--team-dur) var(--team-ease), filter var(--team-dur) var(--team-ease), top var(--team-dur) var(--team-ease);
}
.sec-our-team__thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
.sec-our-team__card:hover .sec-our-team__thumb{ top:30px; opacity:1; transform:none; filter:blur(0); }

.sec-our-team__overlay{ position:absolute; inset:0; z-index:1; background:var(--black); opacity:0; transition:opacity var(--team-dur) var(--team-ease); }
.sec-our-team__card:hover .sec-our-team__overlay{ opacity:.2; }

.sec-our-team__quote{ position:absolute; left:30px; bottom:30px; z-index:3; width:84%; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.sec-our-team__quote p{
  width:100%; white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
  font-size:16px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white);
  opacity:0; transform:scale(1.3); filter:blur(8px);
  transition:opacity var(--team-dur) var(--team-ease), transform var(--team-dur) var(--team-ease), filter var(--team-dur) var(--team-ease);
}
.sec-our-team__card:hover .sec-our-team__quote p{ opacity:1; transform:none; filter:blur(0); }

.sec-our-team__name{ position:relative; display:flex; align-items:flex-start; gap:20px; width:100%; }
.sec-our-team__name-col{ flex:1 0 0; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:0 40px 0 0; overflow:hidden; }
.sec-our-team__person{ white-space:pre; font-size:16px; font-weight:700; line-height:1.3; letter-spacing:-.05em; color:var(--black); }
.sec-our-team__role{ white-space:pre; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--black-60); }
.sec-our-team__social{
  position:absolute; right:0; bottom:0; z-index:1;
  display:flex; align-items:center; justify-content:flex-end; gap:10px; height:21px; padding:0 20px 0 0;
  opacity:0; filter:blur(5px);
  transition:opacity var(--team-dur) var(--team-ease), filter var(--team-dur) var(--team-ease), transform var(--team-dur) var(--team-ease);
}
.sec-our-team__card:hover .sec-our-team__social{ opacity:1; filter:blur(0); transform:translateY(-25.8px); }
.sec-our-team__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; color:var(--grey-a3); }
.sec-our-team__soc svg{ transition:color .65s cubic-bezier(.25,1,.3,1), transform .65s cubic-bezier(.25,1,.3,1); will-change:transform; }  /* live: spring ≈0.6s on the icon (scale 1.4 + #a3a3a3 → #000) */
.sec-our-team__soc svg{ display:block; width:21px; height:21px; aspect-ratio:1; overflow:hidden; }
.sec-our-team__soc:hover svg{ color:var(--black); transform:scale(1.4); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-our-team{ padding:0 0 200px; }
  .sec-our-team__cols{ padding:0; }
  .sec-our-team__title{ padding:200px 0 100px; align-items:center; }
  .sec-our-team__sub{ gap:40px; }
  .sec-our-team__box{ padding:50px 40px; }
  .sec-our-team__corner{ top:49px; left:39px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-our-team{ padding:0 40px 120px; }
  .sec-our-team__title{ align-items:flex-start; padding:100px 0; }
  .sec-our-team__sub{ align-self:auto; gap:30px; }
  .sec-our-team__heading{ flex:1 0 0; }
  .sec-our-team__marquee-item{ padding-right:50px; }
  .sec-our-team__box{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); gap:50px 0; padding:30px; align-items:unset; }
  .sec-our-team__corner{ top:29px; left:29px; }
}
@media (max-width:809.98px){
  .sec-our-team{ padding:0 20px 100px; }
  .sec-our-team__title{ flex-direction:column; align-items:flex-start; gap:20px; padding:100px 0 50px; }
  .sec-our-team__sub,.sec-our-team__heading{ flex:none; width:100%; gap:20px; align-self:auto; }
  .sec-our-team__marquee-item{ padding-right:50px; }
  .sec-our-team__h2{ font-size:60px; }
  .sec-our-team__box{ display:grid; grid-template-columns:minmax(50px,1fr); gap:40px 0; padding:20px; align-items:unset; }
  .sec-our-team__corner{ top:19px; left:19px; }
  .sec-our-team__cols{ grid-template-columns:1fr; }
  .sec-our-team__col--2,.sec-our-team__col--3{ display:none; }
}

/* The full team (10) lives on the About page; the home page keeps the first 4 cards */
body[data-page="index"] .sec-our-team__card--about{ display:none; }
body:not([data-page="index"]) .sec-our-team__box{ flex-wrap:wrap; row-gap:50px; justify-content:flex-start; }
body:not([data-page="index"]) .sec-our-team__card{ flex:0 0 25%; }
@media (min-width:810px) and (max-width:1199.98px){ body:not([data-page="index"]) .sec-our-team__card{ flex:none; } }
@media (max-width:809.98px){ body:not([data-page="index"]) .sec-our-team__card{ flex:none; } }
/* placeholder silhouettes: no hover quote to show */
.sec-our-team__quote p:empty{ display:none; }

/* ==== css/sections/14-quote.css ==== */
/* ==========================================================================
   14 — Quote section ("[ND® ‒ WHAT WE BELIEVE / 思想と理念]" — "We are an international studio collective…")
   Measured on neiden.framer.media at 1440×900 (breakpoint 1200–1619).
   Section = 150 + [counter 14 + 50 + stage 231 + 50 + author 224.8] + 150 = 869.8px
   (live_metrics.json lists 638.8px: that capture ran before the lazy text component mounted — its box was 0px tall).
   ========================================================================== */
.sec-quote{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  width:100%;
  background:var(--black-90);           /* rgba(0,0,0,.9) → rgb(25,25,25) on the white page */
  color:var(--white);
  overflow:clip;
  font-family:var(--font-sans);
}

/* ---- Shader background (Framer Shader component, opacity .33) — two captured frames cross-fading + slow drift ---- */
.sec-quote__shader{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.sec-quote__shader-layer{
  position:absolute; inset:-6%; width:112%; height:112%;
  background:#191919 center/cover no-repeat;
  will-change:transform,opacity; backface-visibility:hidden;
  animation:sec-quote-drift 26s ease-in-out infinite alternate;
}
.sec-quote__shader-layer--a{ background-image:url("../assets/images/quote-shader-a.webp"); }
.sec-quote__shader-layer--b{ background-image:url("../assets/images/quote-shader-b.webp"); opacity:0; animation:sec-quote-drift 26s ease-in-out infinite alternate, sec-quote-fade 9s ease-in-out infinite alternate; }
@keyframes sec-quote-drift{ from{ transform:translate3d(-2%,-1.5%,0) scale(1); } to{ transform:translate3d(2%,1.5%,0) scale(1.06); } }
@keyframes sec-quote-fade{ from{ opacity:0; } to{ opacity:1; } }
.sec-quote.is-static .sec-quote__shader-layer{ animation:none; transform:none; }
.sec-quote.is-static .sec-quote__shader-layer--b{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .sec-quote__shader-layer{ animation:none; } }

/* ---- hairline column grid ---- */
.sec-quote__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
.sec-quote__col{ position:relative; height:100%; overflow:clip; }
.sec-quote__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-dark); border-right-width:1px; pointer-events:none; }
.sec-quote__col--1::after{ border-left-width:1px; }

/* ---- Review / content ---- */
.sec-quote__review{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  padding:150px var(--page-pad);
}
.sec-quote__content{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:50px;
}
.sec-quote__spacer{ position:relative; width:100%; height:1px; overflow:clip; }

/* ---- Counter label ---- */
.sec-quote__counter{
  position:relative; width:100%; height:14px;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:14px; justify-content:center;
  overflow:clip;
}
.sec-quote__counter-inner{ position:relative; grid-column:span 2; align-self:start; width:100%; height:14px; }
.sec-quote__counter-box{
  display:flex; align-items:center; gap:15px; width:max-content; height:14px;
  color:var(--white); text-decoration:none;
}
/* live: only "ND®", "‒" and "WHAT WE BELIEVE /" carry cursor:pointer (no actual link) */
.sec-quote__label-part:nth-child(2),.sec-quote__label-part:nth-child(3),.sec-quote__label-part:nth-child(4){ cursor:pointer; }
.sec-quote__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-quote__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-quote__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-quote__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
}
.sec-quote__label-part--jp{ font-weight:500; color:var(--white-30); }

/* ---- Stage: portrait + statement + lines ---- */
.sec-quote__stage{
  position:relative; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:50px;
}
.sec-quote__image{
  position:absolute; top:-127px; left:0; z-index:0;
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:472px; height:590px; overflow:clip; color:var(--red); pointer-events:none;
  -webkit-mask-image:url("../assets/images/team/alexander-tsassong.webp"); -webkit-mask-size:cover; -webkit-mask-position:100%; -webkit-mask-repeat:no-repeat; -webkit-mask-source-type:luminance;
  mask-image:url("../assets/images/team/alexander-tsassong.webp"); mask-size:cover; mask-position:100%; mask-repeat:no-repeat; mask-mode:luminance;
}
.sec-quote__image-svg{ display:block; width:100%; height:100%; flex:none; image-rendering:pixelated; overflow:hidden; }

.sec-quote__text-frame{ position:relative; z-index:0; width:100%; display:flex; justify-content:center; align-items:center; }
.sec-quote__title{
  display:block; margin:0; text-align:left; word-break:break-word; white-space:pre-wrap;
  font-family:var(--font-sans); font-size:70px; font-style:normal; font-weight:600; letter-spacing:-.06em; line-height:1.1em;
  color:var(--white);
}
.sec-quote__ch{ display:inline; white-space:normal; color:var(--white-10); }
.sec-quote__ch--sp{ white-space:pre; }
.sec-quote__ch.is-on{ color:var(--white); }
.sec-quote.is-static .sec-quote__ch{ color:var(--white); }

.sec-quote__line{ position:absolute; left:0; width:100%; height:1px; background:var(--white-10); overflow:clip; z-index:1; pointer-events:none; }
.sec-quote__line--1{ top:75px; }
.sec-quote__line--2{ top:154px; }
.sec-quote__line--3{ bottom:0; }

/* ---- Paragraph + author ---- */
.sec-quote__author{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
  overflow:clip;
}
.sec-quote__author-wrap{
  position:relative; grid-column:span 2; place-self:start; width:max-content; max-width:100%;
  display:flex; flex-direction:column; align-items:flex-start; gap:50px; overflow:clip;
}
.sec-quote__para{ position:relative; width:max-content; max-width:100%; }
.sec-quote__para p{
  white-space:pre; word-break:break-word;
  font-size:17px; font-weight:500; line-height:1.4; letter-spacing:-.04em; color:var(--white-50);
}
.sec-quote__person{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:20px;
  width:min-content; overflow:hidden;
}
.sec-quote__person-text{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; }
.sec-quote__person-name{ white-space:pre; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white); }
.sec-quote__person-role{ display:flex; align-items:center; gap:3px; white-space:pre; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--white); }
.sec-quote__at{ color:var(--white-30); }
.sec-quote__company{ font-weight:600; line-height:1.4; }
.sec-quote__signature{
  white-space:pre; text-align:left;
  font-family:var(--font-script); font-size:44px; font-weight:400; line-height:1.4; letter-spacing:-.02em; color:var(--red);
}
.sec-quote__signature .split-word{ white-space:nowrap; display:inline; }
.sec-quote__signature .split-char{ display:inline-block; }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-quote__review{ max-width:var(--container-max); padding:200px 0; margin:0 auto; }
  .sec-quote__cols{ right:auto; left:50%; width:100%; max-width:var(--container-max); transform:translateX(-50%); padding:0; }
  .sec-quote__line--1{ top:68px; }
  .sec-quote__line--2{ top:auto; bottom:63px; }
}
@media (max-width:1199.98px){
  .sec-quote__title br{ display:none; }
  .sec-quote__title{ word-break:normal; }
  .sec-quote__ch--sp{ white-space:normal; }
  /* live tablet/phone variants use a single <p> ("…consistent execution…") */
  .sec-quote__para{ width:100%; }
  .sec-quote__para p{ display:inline; white-space:pre-wrap; word-break:break-word; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-quote__review{ padding:150px 40px 100px; }
  .sec-quote__cols,.sec-quote__counter,.sec-quote__author{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-quote__col--3{ display:none; }
  .sec-quote__counter-inner,.sec-quote__author-wrap{ grid-column:auto; }
  .sec-quote__title{ font-size:50px; }
  .sec-quote__image{ width:408px; height:483px; }
  .sec-quote__line--1{ top:52px; }
  .sec-quote__line--2{ top:auto; bottom:54px; }
}
@media (max-width:809.98px){
  .sec-quote__review{ padding:150px 20px 100px; }
  .sec-quote__cols{ grid-template-columns:1fr; padding:0 20px; }
  .sec-quote__col--2,.sec-quote__col--3{ display:none; }
  .sec-quote__counter,.sec-quote__author{ display:flex; flex-direction:row; align-items:center; justify-content:center; }
  .sec-quote__spacer{ display:none; }
  .sec-quote__counter-inner{ width:auto; }
  .sec-quote__author-wrap{ width:100%; align-items:flex-start; }   /* .framer-142xk8e <810: flex:1 0 0, base align-items:flex-start, gap 50px */
  .sec-quote__title{ font-size:36px; }
  .sec-quote__image{ width:322px; height:403px; top:-60px; }
  .sec-quote__line--1{ top:33px; }
  .sec-quote__line--2{ top:67px; }
  .sec-quote__line--3{ bottom:33px; }
}

/* ==== css/sections/15-faq.css ==== */
/* ==========================================================================
   15 — FAQ section ("[ND® ‒ FAQ / 質問と理解]" — "Quick answers." + 5-item accordion)
   Measured on neiden.framer.media at 1440×900 (breakpoint 1200–1619).
   Section = 150 + content 888.6 + 150 = 1188.6px
   Content = flex row: sticky heading (1/3 = 453.3px, top:100px, gap 200) | accordion (2/3 = 906.7px)
   Accordion items: open 520.6px (40 + 32 + 30 + 89.6 + 30 + 259 + 40), closed 92px (30 + 32 + 30)
   ========================================================================== */
.sec-faq{
  position:relative; z-index:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; padding:150px var(--page-pad);
  background:var(--white); color:var(--black);
  font-family:var(--font-sans);
}

/* ---- hairline column grid (col 1: left + right, cols 2/3: right) ---- */
.sec-faq__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
.sec-faq__col{ position:relative; height:100%; overflow:clip; }
.sec-faq__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-faq__col--1::after{ border-left-width:1px; }

/* ---- content row ---- */
.sec-faq__content{
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:row; align-items:flex-start; justify-content:center; gap:0;
}

/* ---- left: sticky heading ---- */
.sec-faq__heading{
  position:sticky; top:100px; z-index:1;
  flex:1 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:200px;
  border-radius:10px;
}
.sec-faq__intro{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; }

.sec-faq__label-wrap{ position:relative; width:max-content; height:14px; }
.sec-faq__label{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); cursor:pointer; text-decoration:none; }
.sec-faq__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-faq__icon-bar{ display:block; height:14px; flex:none; overflow:visible; }
.sec-faq__label-text{ display:flex; align-items:flex-end; justify-content:center; gap:2px; height:14px; }
.sec-faq__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-faq__label-part--jp{ font-weight:500; color:var(--black-40); }

.sec-faq__title{
  display:block; margin:0; white-space:pre; word-break:break-word;
  font-family:var(--font-sans); font-size:70px; font-weight:600; line-height:63px; letter-spacing:-.06em; color:var(--black);
}
.sec-faq__title .split-word{ white-space:nowrap; display:inline-block; }
.sec-faq__title .split-char{ display:inline-block; }

.sec-faq__lead{ position:relative; width:max-content; max-width:100%; }
.sec-faq__lead p{ white-space:pre; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

/* CTA block */
.sec-faq__cta{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; }
.sec-faq__cta-text{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:5px; width:100%; }
.sec-faq__cta-title{ white-space:pre; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); }
.sec-faq__cta-sub{ white-space:pre; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

/* black CTA button 300×60 (Framer "Default button": red on hover, letters slide, plus spins) */
.sec-faq__btn-wrap{ position:relative; width:300px; height:60px; }
.sec-faq__btn{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:300px; height:60px;
  background:var(--black); color:var(--white); cursor:pointer; overflow:clip; text-decoration:none;
  /* measured on the live button: variant switch = over-damped spring — fast on hover-in (≈0.35s), slower on hover-out (≈0.7s) */
  transition:background-color .7s cubic-bezier(.3,.3,.2,.9);
}
.sec-faq__btn:hover{ background:var(--red); transition-duration:.35s; transition-timing-function:cubic-bezier(.2,.35,.1,.9); }
.sec-faq__btn-txt{ position:relative; z-index:1; display:block; height:12px; overflow:clip; }
.sec-faq__btn-line{
  display:block; height:12px; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--white); white-space:pre;
}
.sec-faq__btn-line--b{ position:absolute; left:0; top:0; }
/* Live text effect (measured): on hover every letter jumps 15px up out of the clip instantly, then drops back into place
   one letter at a time (≈0.15s ease-out, 30ms stagger); on hover-out they jump 15px below and rise back the same way.
   Copy "a" plays the hover-out entrance (from below), copy "b" the hover-in entrance (from above); the other copy jumps. */
.sec-faq__btn-line .c{ display:inline-block; transition:transform .16s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0) * .03s); }
.sec-faq__btn-line--b .c{ transform:translateY(-15px); transition:none; }
.sec-faq__btn:hover .sec-faq__btn-line--a .c{ transform:translateY(15px); transition:none; }
.sec-faq__btn:hover .sec-faq__btn-line--b .c{ transform:translateY(0); transition:transform .16s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0) * .03s); }
.sec-faq__btn-icon{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; background:var(--white); pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  transition:transform .425s cubic-bezier(.3,.4,.2,.95); /* live: one spring both ways (15% @40ms, 65% @140ms, settled ≈0.45s) */
}
/* live: the plus spins counter-clockwise (−180°) */
.sec-faq__btn:hover .sec-faq__btn-icon{ transform:rotate(-180deg); }

/* ---- right: accordion ---- */
.sec-faq__list{
  position:relative; z-index:1;
  flex:2 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--white); list-style:none; margin:0; padding:0;
}
.sec-faq__list::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-right-width:1px; pointer-events:none; }

.sec-faq__item{
  position:relative; z-index:1; width:100%; list-style:none;
  cursor:pointer; overflow:hidden;
}
.sec-faq__item::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-bottom-width:1px; pointer-events:none; z-index:3; }
.sec-faq__item-inner{
  position:relative; display:flex; flex-direction:row; align-items:flex-start; justify-content:center; gap:0;
  width:100%; padding:0 46px 0 30px; /* 30 + 16px icon column + 30 */
}
.sec-faq__main{ position:relative; flex:1 0 0; width:1px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:30px 0; }
.sec-faq__item.is-open .sec-faq__main{ padding:40px 0; }

/* block = heading row + body: the unit Framer projects into place when a variant switches */
.sec-faq__block{ position:relative; z-index:2; width:100%; transform-origin:50% 0; }
.sec-faq__head.sec-faq__head--ghost{ position:absolute; top:30px; left:30px; right:46px; width:auto; z-index:1; pointer-events:none; }

/* heading row: number box + question + (empty) tag */
.sec-faq__head{
  position:relative; z-index:1; display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  width:100%; height:32px; padding:0 10px 0 0; margin:0; border:0; background:none; color:inherit; cursor:pointer; text-align:left; font:inherit;
}
.sec-faq__num{
  position:relative; flex:none; display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; background:var(--black-05); overflow:clip;
}
.sec-faq__num-txt{
  display:block; white-space:pre;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  transition:transform .35s cubic-bezier(.7,.05,.4,.85); /* live layout spring: slow start, 41% @180ms, 90% @280ms, done ≈0.38s (same both ways) */
}
.sec-faq__num-txt--b{ position:absolute; top:-20px; left:50%; transform:translate(-50%,0); }
/* Framer "hover" variant of the closed item: visible number drops to bottom:-20px, the duplicate comes in from top:-20px (both +30px) */
.sec-faq__item:not(.is-open):hover .sec-faq__num-txt--a{ transform:translateY(30px); }
.sec-faq__item:not(.is-open):hover .sec-faq__num-txt--b{ transform:translate(-50%,30px); }
.sec-faq__q{
  flex:1 0 0; width:1px; min-width:0; margin-left:15px;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  white-space:pre-wrap; word-break:break-word;
}
.sec-faq__tag{ flex:none; display:block; width:30px; height:12px; padding:6px 15px; overflow:hidden; }

/* body (answer + media) */
.sec-faq__body{ display:none; width:100%; padding-top:30px; }
.sec-faq__item.is-open .sec-faq__body{ display:block; }
.sec-faq__answer{
  width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left;
  white-space:pre-wrap; word-break:break-word;
}
.sec-faq__media{ position:relative; display:flex; flex-direction:row; align-items:center; justify-content:center; gap:0; width:100%; margin-top:30px; overflow:hidden; }
.sec-faq__img{ position:relative; flex:1 0 0; width:1px; height:259px; overflow:hidden; }
.sec-faq__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-faq__corner{
  position:absolute; top:-1px; left:-1px; z-index:2; width:63px; height:63px; pointer-events:none;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'><path d='M 0 0 L 63 63 L 63 0 Z' fill='white'/></svg>") 0 0/100% 100% no-repeat;
  transform:rotate(-90deg); transform-origin:50% 50%;
}

/* toggle icon (+ → × when open): 16×16 at right:30px; y = 38 closed (centred in 92) / 40 open */
.sec-faq__toggle{ position:absolute; top:38px; right:30px; z-index:2; display:flex; align-items:center; justify-content:center; width:16px; height:16px; overflow:hidden; transition:top .4s cubic-bezier(.22,1,.36,1); }
.sec-faq__item.is-open .sec-faq__toggle{ top:40px; }
.sec-faq__plus{ display:block; width:16px; height:16px; color:var(--black); }
.sec-faq__plus svg{ display:block; width:16px; height:16px; overflow:hidden; }
.sec-faq__item.is-open .sec-faq__plus{ transform:rotate(45deg); }
.sec-faq.is-static .sec-faq__toggle, .sec-faq.is-static .sec-faq__num-txt, .sec-faq.is-static .sec-faq__btn, .sec-faq.is-static .sec-faq__btn-icon, .sec-faq.is-static .sec-faq__btn-line .c{ transition:none; }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-faq{ padding:200px 0; }
  .sec-faq__content{ max-width:var(--container-max); margin:0 auto; }
  .sec-faq__cols{ right:auto; left:50%; width:100%; max-width:var(--container-max); transform:translateX(-50%); padding:0; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-faq{ padding:100px 40px; }
  .sec-faq__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-faq__col--3{ display:none; }
  .sec-faq__content{ flex-direction:column; gap:50px; }
  .sec-faq__heading{ position:relative; top:auto; flex:none; flex-direction:row; gap:0; width:100%; }
  .sec-faq__intro{ flex:1 0 0; width:1px; }
  .sec-faq__cta{ flex:1 0 0; width:1px; }
  .sec-faq__list{ flex:none; width:100%; }
  .sec-faq__list::after{ border-left-width:1px; }
  .sec-faq__cta-text{ gap:0; }
}
@media (max-width:809.98px){
  .sec-faq{ padding:50px 20px 100px; }
  .sec-faq__cols{ grid-template-columns:1fr; padding:0 20px; }
  .sec-faq__col--2,.sec-faq__col--3{ display:none; }
  .sec-faq__content{ flex-direction:column; gap:70px; }
  .sec-faq__heading{ position:relative; top:auto; flex:none; gap:50px; width:100%; }
  .sec-faq__list{ flex:none; width:100%; }
  .sec-faq__list::after{ border-left-width:1px; }
  .sec-faq__title{ font-size:50px; line-height:45px; }
  .sec-faq__lead p,.sec-faq__cta-sub{ white-space:pre-wrap; }
  .sec-faq__btn-wrap,.sec-faq__btn{ width:100%; }
  .sec-faq__item-inner{ padding:0 20px; }
  .sec-faq__toggle{ right:20px; }
  .sec-faq__media{ flex-direction:column; align-items:flex-start; }
  .sec-faq__img{ flex:none; width:100%; height:150px; }
  .sec-faq__cta-text{ gap:0; }
}

/* ==== css/sections/16-blog-posts.css ==== */
/* ==========================================================================
   16 — Blog posts ("Articles.")  light section, 1003.4px @1440
   Measured from neiden.framer.media (dom.json): section padding 0 40px, wrapper padding 0 0 150px,
   title 150/50 padding (subheading col 1, 100px h2 cols 2–3), 3 post cards 453×523.6 in a 1px-ruled
   grid (image 350 + content 40/40/60), 40px "READ ALL POSTS" button row, "UPDATED WEEKLY" 30px from bottom.
   ========================================================================== */
.sec-blog-posts{
  --bp-ease: cubic-bezier(.65,0,.35,1);   /* hover layout (height / offsets) */
  --bp-dur: .6s;
  --bp-fade: .55s;                         /* hover fades (opacity / blur) */
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 var(--page-pad);
  background:var(--black-05); color:var(--black);
  overflow:clip;
}

/* ---- 3 hairline columns ---- */
.sec-blog-posts__cols{
  position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:0;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center; overflow:clip; pointer-events:none;
}
.sec-blog-posts__col{ position:relative; height:100%; overflow:clip; }
.sec-blog-posts__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-blog-posts__col--1::after{ border-left-width:1px; }

/* ---- Posts wrapper ---- */
.sec-blog-posts__wrap{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 0 150px;
}

/* ---- Corner fact ("UPDATED WEEKLY") — mix-blend difference like the source ---- */
.sec-blog-posts__facts{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center; gap:10px;
  overflow:clip; mix-blend-mode:difference; pointer-events:none;
}
.sec-blog-posts__fact{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:1;
  display:flex; align-items:center; justify-content:center; gap:10px; overflow:clip; mix-blend-mode:difference;
}
.sec-blog-posts__fact p{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black); }
.sec-blog-posts__fact-dim{ color:var(--black-50); }

/* ---- Title row ---- */
.sec-blog-posts__title{
  position:relative; z-index:1; width:100%;
  display:flex; justify-content:space-between; align-items:flex-end; padding:150px 0 50px;
}
.sec-blog-posts__sub{
  flex:1 0 0; min-width:0; align-self:stretch;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:30px;
}
.sec-blog-posts__tag{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); cursor:pointer; text-decoration:none; }
.sec-blog-posts__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-blog-posts__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-blog-posts__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-blog-posts__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-blog-posts__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-blog-posts__desc{ display:flex; flex-direction:column; width:100%; }
.sec-blog-posts__desc p{ width:100%; white-space:pre-wrap; text-align:left; font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--black-70); }

.sec-blog-posts__heading{ flex:2 0 0; min-width:0; display:flex; justify-content:space-between; align-items:flex-end; }
.sec-blog-posts__htext{ flex:1 0 0; min-width:0; display:flex; align-items:flex-start; gap:15px; overflow:clip; }
.sec-blog-posts__h2{ font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; color:var(--black); white-space:pre; }
.sec-blog-posts__h2-in{ display:inline-block; }

/* ---- Posts (1px ruled box) ---- */
.sec-blog-posts__posts{
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px;
  padding:1px 0 0 1px; overflow:clip;
}
.sec-blog-posts__posts::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-bottom-width:1px; pointer-events:none; }
.sec-blog-posts__grid{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:min-content; justify-content:center; gap:0;
}
/* diagonal cut on the first image: 63×63 triangle in the section colour (source: rotated svg) */
.sec-blog-posts__corner{
  position:absolute; top:0; left:0; z-index:3; width:63px; height:63px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'%3E%3Cpath d='M0 0H63L0 63Z' fill='%23f2f2f2'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
}

/* ---- Card ---- */
.sec-blog-posts__card{
  position:relative; display:flex; align-items:flex-start; justify-content:flex-start; gap:10px;
  width:100%; min-width:0; color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-blog-posts__post{ position:relative; display:flex; flex-direction:column; align-items:flex-start; width:100%; overflow:hidden; }
.sec-blog-posts__media{ position:relative; display:flex; align-items:flex-start; gap:10px; width:100%; }
.sec-blog-posts__imgbox{
  position:relative; z-index:2; flex:1 0 0; min-width:0; height:350px; overflow:hidden;
  display:flex; align-items:flex-start; justify-content:center;
  transition:height var(--bp-dur) var(--bp-ease);
}
.sec-blog-posts__img{ position:absolute; z-index:1; top:calc(50% - 175px); left:0; width:100%; height:350px; overflow:hidden; }
.sec-blog-posts__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }

.sec-blog-posts__content{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  width:100%; padding:40px 40px 60px; border-radius:10px; overflow:hidden;
}
.sec-blog-posts__inner{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; }
/* meta row is absolutely placed (like the hover variant) and the 32px it occupies is padding that collapses on hover */
.sec-blog-posts__main{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; width:100%; padding-top:32px;
  transition:padding-top var(--bp-dur) var(--bp-ease);
}
.sec-blog-posts__meta{
  position:absolute; top:0; left:0; z-index:1; display:flex; align-items:center; gap:10px; width:100%; height:12px;
  transition:top var(--bp-dur) var(--bp-ease), opacity var(--bp-fade) var(--bp-ease), filter var(--bp-fade) var(--bp-ease);
}
.sec-blog-posts__date,.sec-blog-posts__read{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; }
.sec-blog-posts__date{ color:var(--black-50); }
.sec-blog-posts__read{ color:var(--black); }
.sec-blog-posts__dot{ display:block; flex:none; width:4px; height:4px; border-radius:7px; background:var(--black-30); }
.sec-blog-posts__ttl{ display:flex; align-items:flex-start; gap:10px; width:70%; overflow:hidden; }
.sec-blog-posts__ttl p{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; width:100%; overflow:clip;
  white-space:pre-line; word-break:break-word; overflow-wrap:break-word;
  font-size:16px; font-weight:700; line-height:1.3; letter-spacing:-.05em; color:var(--black);
}
.sec-blog-posts__more-wrap{ display:grid; grid-template-rows:0fr; width:100%; padding-top:0; transition:grid-template-rows var(--bp-dur) var(--bp-ease), padding-top var(--bp-dur) var(--bp-ease); }
.sec-blog-posts__more{
  position:relative; z-index:0; display:flex; flex-direction:column; align-items:center; gap:30px; width:100%; min-height:0;
  opacity:0; filter:blur(8px);
  transition:opacity var(--bp-fade) var(--bp-ease), filter var(--bp-fade) var(--bp-ease);
}
.sec-blog-posts__excerpt{ display:flex; flex-direction:column; align-items:flex-start; gap:70px; width:100%; overflow:hidden; }
.sec-blog-posts__excerpt p{ width:100%; white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; text-align:left; font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--black-70); }
.sec-blog-posts__author{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-blog-posts__by{ display:flex; align-items:center; gap:10px; }
.sec-blog-posts__avatar{ position:relative; flex:none; width:40px; height:40px; aspect-ratio:1; border-radius:25px; overflow:hidden; }
.sec-blog-posts__avatar img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-blog-posts__who{ display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; }
.sec-blog-posts__kind{ display:flex; align-items:center; justify-content:center; gap:3px; }
.sec-blog-posts__kind p{ white-space:pre; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--black); }
.sec-blog-posts__kind-dim{ color:var(--black-50) !important; }
.sec-blog-posts__name{ white-space:pre; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--black); }

/* hover: image box collapses to 247px, meta fades/blurs out (and sits 20px above the title), excerpt + author fade in */
.sec-blog-posts__card:hover .sec-blog-posts__imgbox{ height:247px; }
.sec-blog-posts__card:hover .sec-blog-posts__main{ padding-top:0; }
.sec-blog-posts__card:hover .sec-blog-posts__meta{
  top:-20px; opacity:0; filter:blur(7px);
  transition:top var(--bp-dur) var(--bp-ease), opacity .5s var(--bp-ease) .1s, filter .5s var(--bp-ease) .1s;
}
.sec-blog-posts__card:hover .sec-blog-posts__more-wrap{ grid-template-rows:1fr; padding-top:20px; }
.sec-blog-posts__card:hover .sec-blog-posts__more{
  z-index:1; opacity:1; filter:blur(0);
  transition:opacity .5s var(--bp-ease) .1s, filter .5s var(--bp-ease) .1s;
}

/* ---- Button row ---- */
.sec-blog-posts__cta-row{
  position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center; gap:0;
}
.sec-blog-posts__cta-row::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-bottom-width:1px; pointer-events:none; }
.sec-blog-posts__spacer{ position:relative; height:100%; overflow:clip; }
.sec-blog-posts__spacer::after{ content:""; position:absolute; inset:0; border:0 solid rgba(255,255,255,.15); border-right-width:1px; pointer-events:none; }
.sec-blog-posts__cta{
  position:relative; display:flex; align-items:center; justify-content:space-between;
  width:100%; height:40px; overflow:clip; cursor:pointer;
}
.sec-blog-posts__btn{
  position:relative; display:flex; flex:1 0 0; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  height:60px; background:var(--black); color:var(--white); text-decoration:none;
  transition:background-color .74s cubic-bezier(.25,.5,.24,1);       /* leave: measured on the live site (slow spring, ~0.6s) */
}
.sec-blog-posts__btn-label{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  height:12px; overflow:clip; pointer-events:none; user-select:none;
}
.sec-blog-posts__btn-label p{ white-space:pre; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); }
.sec-blog-posts__w{ white-space:nowrap; }
.sec-blog-posts__ch{ display:inline-block; will-change:transform; }
.sec-blog-posts__plus{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; aspect-ratio:1; pointer-events:none; user-select:none;
  background:var(--white);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:transform .51s cubic-bezier(.3,.86,.33,1);              /* leave: live spring ω≈15 */
}
/* hover (curves fitted to rAF samples of the live site): black → red in ~0.44s (exponential-like),
   plus spins -180° (counter-clockwise) with a ~0.5s spring, letters jump 15px up out of the clipped label
   and drop back in one by one (30ms stagger, 120ms ease). On leave they jump 15px down and rise back in. */
.sec-blog-posts__cta:hover .sec-blog-posts__btn{ background:var(--red); transition:background-color .44s cubic-bezier(.2,.98,.49,1); }
.sec-blog-posts__cta:hover .sec-blog-posts__plus{ transform:rotate(-180deg); transition:transform .48s cubic-bezier(.29,.66,.25,1); }
@keyframes sec-blog-posts-ch-in{ from{ transform:translateY(-15px); } to{ transform:translateY(0); } }
@keyframes sec-blog-posts-ch-out{ from{ transform:translateY(15px); } to{ transform:translateY(0); } }
.sec-blog-posts__cta--in .sec-blog-posts__ch{ animation:sec-blog-posts-ch-in .12s ease both; animation-delay:calc(45ms + var(--i) * 30ms); }
.sec-blog-posts__cta--out .sec-blog-posts__ch{ animation:sec-blog-posts-ch-out .12s ease both; animation-delay:calc(var(--i) * 30ms); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-blog-posts{ padding:0; }
  .sec-blog-posts__cols{ padding:0; }
  .sec-blog-posts__wrap{ padding:0 0 200px; }
  .sec-blog-posts__title{ align-items:center; padding:200px 0 100px; }
  .sec-blog-posts__sub{ gap:40px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-blog-posts__wrap{ padding:0 0 120px; }
  .sec-blog-posts__title{ align-items:flex-start; padding:100px 0 50px; }
  .sec-blog-posts__sub{ align-self:auto; gap:30px; }
  .sec-blog-posts__heading{ flex:1 0 0; }
}
@media (max-width:809.98px){
  .sec-blog-posts__wrap{ padding:0; }
  .sec-blog-posts__title{ flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:20px; padding:100px 0 50px; }
  .sec-blog-posts__sub,.sec-blog-posts__heading{ flex:none; width:100%; align-self:auto; gap:20px; }
  .sec-blog-posts__h2{ font-size:60px; }
  .sec-blog-posts__posts{ padding:1px 1px 30px; }
  .sec-blog-posts__grid{ grid-template-columns:minmax(50px,1fr); }
  .sec-blog-posts__cta-row{ grid-template-columns:1fr; }
  .sec-blog-posts__spacer{ display:none; }
  .sec-blog-posts__cols{ grid-template-columns:1fr; }
  .sec-blog-posts__col--2,.sec-blog-posts__col--3{ display:none; }
}

/* ==== css/sections/17-subscribe.css ==== */
/* ==========================================================================
   17 — Subscribe section (white, 410px, 3 columns)
   Measured on neiden.framer.media at 1440×900 (breakpoint 1200–1619).
   col 1: label (14) + 30 + h3 (63) + 30 + 2 lines (44.8), padding 100/100, centered → top 14.1
   col 2: "ENTER YOUR EMAIL" (12) + 20 + input row (60) = 92, centered → top 159
   col 3: consent text 2×18.2, padding 30 0 0 50, centered → top 171.8
   ========================================================================== */
.sec-subscribe{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr);
  justify-content:center; gap:0;
  width:100%; max-width:var(--container-max); margin:0 auto; height:410px; padding:0 var(--page-pad);
  overflow:clip; color:var(--black); font-family:var(--font-sans);
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-subscribe{ max-width:none; } }

/* ---- hairline column grid (behind everything) ---- */
.sec-subscribe__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
.sec-subscribe__col{ position:relative; height:100%; }
.sec-subscribe__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-subscribe__col--1::after{ border-left-width:1px; }

/* ---- Column 1: title block ---- */
.sec-subscribe__title{
  position:relative; z-index:1; align-self:center; justify-self:start; width:100%;
  display:flex; flex-direction:column; align-items:flex-start; gap:30px; padding:100px 0;
}
.sec-subscribe__counter{ display:flex; align-items:center; gap:15px; width:100%; height:14px; }
.sec-subscribe__icons{ display:flex; align-items:center; flex:none; width:40px; height:14px; color:var(--red); }
.sec-subscribe__icon{ display:block; height:14px; flex:none; overflow:visible; image-rendering:pixelated; }
.sec-subscribe__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-subscribe__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* live label preset: cv + ss07 */
}
.sec-subscribe__label-part--btn{ cursor:pointer; }
.sec-subscribe__label-part--jp{ font-weight:500; color:var(--black-40); }

.sec-subscribe__heading{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-subscribe__h{
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:70px; font-weight:600; line-height:.9em; letter-spacing:-.06em; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* live h3 preset: cv + ss07 */
}
.sec-subscribe__h-word{ display:inline-block; }
.sec-subscribe__desc{ width:100%; word-break:break-word; }
.sec-subscribe__desc p{ margin:0; white-space:pre-wrap; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; text-align:left; color:var(--black-70); }

/* ---- Column 2: form ---- */
.sec-subscribe__rss{
  position:relative; z-index:1; align-self:start; width:100%; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px;
}
.sec-subscribe__form-wrap{ width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:20px; overflow:clip; }
.sec-subscribe__field-label{
  white-space:pre; margin:0;
  font-size:12px; font-weight:600; line-height:1em; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* live 12px label preset: cv + ss07 */
}
.sec-subscribe__form{ position:relative; display:flex; align-items:flex-start; gap:0; width:100%; overflow:hidden; }
.sec-subscribe__field{ display:flex; align-items:flex-start; gap:10px; flex:1 0 0; width:1px; min-width:0; }
.sec-subscribe__input-wrap{
  position:relative; display:flex; align-items:center; flex:1 0 0; width:1px; height:60px;
  padding:12px 12px 12px 30px; background:var(--grey-f2); overflow:hidden;
  transition:background .3s cubic-bezier(.44,0,.56,1), box-shadow .3s cubic-bezier(.44,0,.56,1);
}
.sec-subscribe__input-wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none; box-sizing:border-box;
  border:0 solid var(--red);
  transition:border-color .3s cubic-bezier(.44,0,.56,1), border-width .3s cubic-bezier(.44,0,.56,1);
}
.sec-subscribe__input-wrap:focus-within::after{ border-width:1px; }
.sec-subscribe__input{
  flex:1 1 0; width:auto; min-width:0; height:100%; margin:0; padding:0; border:0; outline:none; background:none;
  font-family:var(--font-sans); font-size:16px; font-weight:600; line-height:1.2em; letter-spacing:-.04em; color:var(--black);
  white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
  font-feature-settings:normal; /* live input: --framer-input-font-open-type-features unset → normal */
}
.sec-subscribe__input::placeholder{ color:var(--black-20); opacity:1; }
.sec-subscribe__submit{
  position:relative; z-index:1; flex:none; display:flex; justify-content:center; align-items:center;
  width:60px; height:60px; margin:0; padding:0; border:0; border-radius:0;
  background:var(--black); color:var(--white); cursor:pointer;
}
.sec-subscribe__submit-icon{
  display:flex; justify-content:center; align-items:center; width:18px; height:18px;
  transition:transform .25s cubic-bezier(.44,0,.56,1); will-change:transform; /* live: ~250ms ease-in-out (rAF-sampled 0→45deg in 250ms, back in 250ms) */
}
.sec-subscribe__submit-icon svg{ display:block; width:18px; height:18px; overflow:hidden; }
.sec-subscribe__submit:hover .sec-subscribe__submit-icon{ transform:rotate(45deg); }

/* ---- Column 3: consent ---- */
.sec-subscribe__copy{
  position:relative; z-index:1; align-self:center; justify-self:start; width:100%;
  display:flex; align-items:center; gap:10px; padding:30px 0 0 50px; overflow:clip;
}
.sec-subscribe__copy-text{ display:flex; flex-direction:column; }
.sec-subscribe__copy-text p{ margin:0; white-space:pre; font-size:13px; font-weight:500; line-height:1.4em; letter-spacing:-.04em; color:var(--black-50); }
.sec-subscribe__copy-text a{
  color:var(--black-90); text-decoration:underline; text-decoration-color:var(--black-20);
  text-underline-offset:.16em; text-decoration-thickness:.05em;
  transition:color .4s cubic-bezier(.44,0,.56,1), text-decoration-color .4s cubic-bezier(.44,0,.56,1), text-decoration-thickness .4s cubic-bezier(.44,0,.56,1), text-underline-offset .4s cubic-bezier(.44,0,.56,1);
}
.sec-subscribe__copy-text a:hover{ color:var(--red); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-subscribe{ height:auto; padding:0; }
  .sec-subscribe__cols{ padding:0; }
}
@media (max-width:1199.98px){
  .sec-subscribe{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; height:auto; padding:100px 40px; }
  .sec-subscribe__cols{ display:none; }
  .sec-subscribe__title{ gap:50px; } /* live keeps padding:100px 0 and gap 50 at 810–1199 */
  .sec-subscribe__rss{ height:auto; }
  .sec-subscribe__copy{ padding:0; }
  .sec-subscribe__h{ font-size:60px; }
  .sec-subscribe__desc p{ font-size:15px; }
}
@media (max-width:809.98px){
  .sec-subscribe{ padding:20px 20px 100px; }
  .sec-subscribe__title{ gap:20px; padding:100px 0 0; }
}

/* ==== css/sections/18-contact-form.css ==== */
/* ==========================================================================
   18 — Contact form (dark panel rgba(0,0,0,.9) + silk shader, 3-col hairline grid)
   Measured at 1440: section 871.7px = title row 248.8 (pad-top 150) + width block 622.9 (pad 100/80)
   ========================================================================== */
.sec-contact-form{
  position:relative; z-index:1; width:100%; overflow:clip;
  color:var(--white);
  font-family:var(--font-sans);
}

/* ---- shader + grid (absolute, z 0, painted above the static panel background) ---- */
.sec-contact-form__shader{ position:absolute; top:0; left:0; width:100%; height:90%; z-index:0; opacity:.33; pointer-events:none; overflow:hidden; }
.sec-contact-form__canvas{ display:block; width:100%; height:100%; }
.sec-contact-form__grid{
  position:absolute; top:0; bottom:0; left:0; right:0; z-index:0; margin:0 auto;
  width:100%; max-width:var(--container-max); padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); pointer-events:none; overflow:clip;
}
.sec-contact-form__gcol{ position:relative; box-shadow:inset -1px 0 0 var(--line-dark); }
.sec-contact-form__gcol--1{ box-shadow:inset 1px 0 0 var(--line-dark), inset -1px 0 0 var(--line-dark); }

/* ---- panel (static so its background paints under the z-0 shader/grid; z-1 children paint above) ---- */
.sec-contact-form__contacts{
  display:flex; flex-direction:column; align-items:center; width:100%;
  padding:0 var(--page-pad); background:var(--black-90); overflow:clip;
}

/* ---- Title row: 1/3 intro | 2/3 heading, pad-top 150, align center ---- */
.sec-contact-form__title{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; justify-content:space-between; align-items:center; padding:150px 0 0;
}
.sec-contact-form__intro{ flex:1 0 0; width:1px; display:flex; flex-direction:column; align-items:flex-start; gap:40px; align-self:stretch; }
.sec-contact-form__tag{ display:flex; align-items:center; gap:15px; height:14px; width:max-content; }
.sec-contact-form__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-contact-form__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-contact-form__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-contact-form__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
}
.sec-contact-form__label-part--jp{ font-weight:500; color:var(--white-30); }
.sec-contact-form__desc{ display:flex; flex-direction:column; width:100%; }
.sec-contact-form__desc p{ font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--white-30); white-space:pre-wrap; }

.sec-contact-form__head{ flex:2 0 0; width:1px; display:flex; justify-content:space-between; align-items:flex-end; }
.sec-contact-form__h2{
  font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; color:var(--white); white-space:pre;
}
.sec-contact-form__word{ display:inline-block; will-change:transform,opacity; }

/* "PROJECTS FOR MAY |||| 3 LEFT" */
.sec-contact-form__left3{ display:flex; align-items:center; gap:10px; height:12px; }
.sec-contact-form__left3-txt{ display:flex; align-items:center; gap:3px; }
.sec-contact-form__left3-num{ display:flex; align-items:center; gap:4px; }
.sec-contact-form__left3-p{ font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); white-space:pre; }
.sec-contact-form__left3-p--n{ letter-spacing:0; }
.sec-contact-form__dim50{ color:var(--white-50); }
.sec-contact-form__dim30{ color:var(--white-30); }
.sec-contact-form__bars{ display:flex; align-items:center; gap:3px; height:12px; overflow:clip; }
.sec-contact-form__bar{ display:block; width:3px; height:12px; background:var(--white-50); }
.sec-contact-form__bar--red{ background:var(--red); }
.sec-contact-form__bar--light{ animation:sec-contact-form-blink 2s linear infinite; }
@keyframes sec-contact-form-blink{
  0%{ background:var(--red); }
  2.5%{ background:rgba(245,155,160,.827); }
  7.5%{ background:rgba(252,224,225,.62); }
  12.5%{ background:rgba(254,246,246,.537); }
  25%,50%{ background:var(--white-50); }
  50.01%,100%{ background:transparent; }
}

/* ---- Width block: 3-col grid, pad 100/80; col 1 = info, cols 2-3 = form ---- */
.sec-contact-form__width{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); padding:100px 0 80px; overflow:clip;
}
.sec-contact-form__info{ display:flex; flex-direction:column; align-items:flex-start; gap:60px; width:100%; }
.sec-contact-form__block{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:30px; width:100%; }
.sec-contact-form__small{ font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); white-space:pre; }
.sec-contact-form__small--dim{ color:var(--white-30); }
.sec-contact-form__links{ display:flex; flex-direction:column; align-items:flex-start; width:100%; }
.sec-contact-form__phone{ display:flex; align-items:center; height:45px; width:max-content; overflow:clip; }
.sec-contact-form__phone-txt{
  display:block; font-size:30px; font-weight:500; line-height:45px; letter-spacing:-.04em; color:var(--white); white-space:pre;
} /* live: colour flips instantly on hover (measured <1 frame) */
.sec-contact-form__phone:hover .sec-contact-form__phone-txt{ color:var(--red); }
.sec-contact-form__mail{ display:block; position:relative; height:30px; width:max-content; overflow:clip; }
.sec-contact-form__mail-stack{ display:block; position:relative; will-change:transform; } /* hover slide driven by JS spring(.35,.2) */
.sec-contact-form__mail-txt{ display:block; font-size:20px; font-weight:500; line-height:30px; letter-spacing:-.04em; color:var(--white); white-space:pre; }
.sec-contact-form__mail-txt--alt{ position:absolute; top:-29px; left:0; opacity:0; }
.sec-contact-form__address{ width:100%; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--white-30); white-space:pre-wrap; }

.sec-contact-form__social{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-contact-form__socials{ display:flex; align-items:center; gap:20px; height:21px; }
.sec-contact-form__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; color:var(--white); }
.sec-contact-form__soc svg{ display:block; width:21px; height:21px; overflow:visible; transition:color .5s cubic-bezier(.25,.1,.25,1); will-change:transform; } /* scale 1→1.4 driven by JS spring(.6) */
.sec-contact-form__soc:hover svg{ color:rgb(235,24,93); }

.sec-contact-form__time{ display:flex; align-items:center; gap:5px; height:12px; }

/* ---- Form (cols 2-3) ---- */
.sec-contact-form__form{
  grid-column:span 2; display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; overflow:hidden;
}
.sec-contact-form__row{ display:flex; align-items:center; width:100%; }
.sec-contact-form__row .sec-contact-form__field{ flex:1 0 0; width:1px; }
.sec-contact-form__field{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:100%; cursor:text; }
.sec-contact-form__field-head{ display:flex; justify-content:flex-end; align-items:center; width:100%; height:12px; overflow:hidden; }
.sec-contact-form__corner{ position:absolute; top:22px; right:0; z-index:3; width:12px; height:12px; color:var(--red); pointer-events:none; overflow:clip; }
.sec-contact-form__corner svg{ display:block; width:12px; height:12px; overflow:visible; }
.sec-contact-form__input-wrap{
  position:relative; display:flex; align-items:center; width:100%; height:60px; padding:20px; overflow:hidden;
  background:rgba(26,26,26,0);
}
.sec-contact-form__input-wrap::after{
  content:""; position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; box-sizing:border-box;
  border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark);
  transition:border-color .5s cubic-bezier(.44,0,.56,1);
}
.sec-contact-form__input-wrap:focus-within::after{ border-color:var(--red); }
.sec-contact-form__row .sec-contact-form__field:nth-child(2) .sec-contact-form__input-wrap::after{ transition-duration:.6s; } /* live: PHONE input uses a .6s focus transition, the others .5s */
.sec-contact-form__input-wrap--area{ height:100px; padding:0; }
.sec-contact-form__input{
  flex:1; width:auto; min-width:0; height:20px; padding:0; margin:0; outline:none; border:0; background:transparent;
  font-family:var(--font-sans); font-size:14px; font-weight:500; line-height:1.2; letter-spacing:-.04em; color:var(--white);
  border-radius:0; appearance:none; -webkit-appearance:none;
}
.sec-contact-form__input::placeholder{ color:var(--white-30); opacity:1; }
.sec-contact-form__input:-webkit-autofill{ -webkit-text-fill-color:#fff; -webkit-box-shadow:0 0 0 100px #191919 inset; }
.sec-contact-form__textarea{
  display:block; width:100%; height:100px; min-height:100px; max-height:100px; padding:20px; resize:vertical; overflow-y:auto; white-space:break-spaces;
}
.sec-contact-form__textarea::-webkit-resizer{
  background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%2214%22><path d=%22m1.5 8 7-7M9 5.5l-3 3%22 stroke=%22%23999%22 stroke-width=%221.5%22 stroke-linecap=%22round%22></path></svg>") no-repeat;
}

/* bottom row: button + agreement | working times */
.sec-contact-form__bottom{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); width:100%; }
.sec-contact-form__submit-col{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; }
.sec-contact-form__btn{
  position:relative; display:flex; justify-content:center; align-items:center; width:100%; height:60px; padding:0;
  background:rgb(51,51,51); border-radius:10px; border:0; cursor:pointer; overflow:visible; text-align:center;
}
.sec-contact-form__btn-in{
  position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; height:100%;
  background:var(--white); transition:background-color .2s cubic-bezier(.44,0,.56,1);
}
.sec-contact-form__btn:hover .sec-contact-form__btn-in{ background:var(--red); }
.sec-contact-form__btn-txt{
  display:block; height:12px; overflow:clip; white-space:pre;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
}
.sec-contact-form__btn-txt--2{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:var(--white); visibility:hidden; }
.sec-contact-form__btn:hover .sec-contact-form__btn-txt--1{ visibility:hidden; }
.sec-contact-form__btn:hover .sec-contact-form__btn-txt--2{ visibility:visible; }
.sec-contact-form__btn-w{ white-space:nowrap; }
.sec-contact-form__btn-txt i{ display:inline-block; font-style:normal; will-change:transform; } /* per-letter slide (hover in: -15→0, hover out: 15→0) is a JS spring(.12) with .03s stagger */
.sec-contact-form__btn-plus{
  position:absolute; top:20px; right:20px; width:20px; height:20px; color:var(--black); pointer-events:none;
  transition:transform .2s cubic-bezier(.44,0,.56,1), color .2s cubic-bezier(.44,0,.56,1);
}
.sec-contact-form__btn:hover .sec-contact-form__btn-plus{ transform:rotate(-180deg); color:var(--white); }
.sec-contact-form__agree{ font-size:13px; font-weight:500; line-height:1.3; letter-spacing:-.04em; color:var(--white-30); white-space:pre; }
.sec-contact-form__agree a{ color:var(--white); transition:color .4s cubic-bezier(.44,0,.56,1); }
.sec-contact-form__agree a:hover{ color:var(--red); }
.sec-contact-form__hours{ display:flex; align-items:flex-start; gap:7px; width:100%; padding:10px 50px 0; align-self:start; }
.sec-contact-form__hours-in{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.sec-contact-form__hours-txt{ font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); white-space:pre; }

/* ---- responsive (secondary) ---- */
@media (max-width:1199.98px){
  .sec-contact-form__h2{ font-size:80px; }
}
@media (max-width:809.98px){
  .sec-contact-form__title{ flex-direction:column; align-items:flex-start; gap:60px; padding-top:100px; }
  .sec-contact-form__intro,.sec-contact-form__head{ flex:none; width:100%; }
  .sec-contact-form__head{ flex-direction:column; align-items:flex-start; gap:40px; }
  .sec-contact-form__h2{ font-size:60px; }
  .sec-contact-form__width{ grid-template-columns:1fr; gap:80px; padding:80px 0 60px; }
  .sec-contact-form__form{ grid-column:auto; }
  .sec-contact-form__row{ flex-direction:column; gap:20px; }
  .sec-contact-form__row .sec-contact-form__field{ flex:none; width:100%; }
  .sec-contact-form__bottom{ grid-template-columns:1fr; gap:40px; }
  .sec-contact-form__hours{ padding:0; }
  .sec-contact-form__grid{ grid-template-columns:1fr; }
  .sec-contact-form__gcol:not(.sec-contact-form__gcol--1){ display:none; }
}

/* ==== css/sections/19-footer.css ==== */
/* ==========================================================================
   19 — Footer ("Desktop" variant, framer-anvll) — measured on neiden.framer.media at 1440×900 (1200–1619 breakpoint)
   Section = top grid 326.36 + 1px gap + copyright row 70.59 = 397.95px ≈ 398px
   Background rgba(0,0,0,.9); 1px rgba(255,255,255,.1) rule on top; 3 hairline columns (x = 40 / 493 / 946 / 1399)
   ========================================================================== */
.sec-footer{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%;
  background:var(--black-90);
  color:var(--white);
  font-family:var(--font-sans);
  overflow:hidden;
}
/* Framer "[border]" → pseudo element: 1px top rule, rgba(255,255,255,.1) */
.sec-footer::after{ content:""; position:absolute; inset:0; border-top:1px solid var(--line-dark); pointer-events:none; z-index:1; }

/* ---- Lined grid (absolute, behind everything) ---- */
.sec-footer__cols{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  width:100%; height:100%; padding:0 var(--page-pad);
  pointer-events:none; overflow:clip;
}
.sec-footer__col{ position:relative; height:100%; overflow:clip; }
.sec-footer__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-dark); border-right-width:1px; pointer-events:none; }
.sec-footer__col--1::after{ border-left-width:1px; }

/* ---- Width wrapper: column, 1px gap between the grid and the copyright row ---- */
.sec-footer__width{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:1px;
  width:100%; padding:0 var(--page-pad); overflow:hidden;
}

/* ==========================================================================
   Top grid: nav (col 1) + brand (cols 2–3)
   ========================================================================== */
.sec-footer__grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%;
}
/* the grid carries a 1px rgba(0,0,0,.1) top border in the source (near-invisible on the dark ground) */
.sec-footer__grid::after{ content:""; position:absolute; inset:0; border-top:1px solid var(--black-10); pointer-events:none; }

/* ---- Navigation column ---- */
.sec-footer__navcol{
  position:relative; display:flex; flex-direction:row; align-items:flex-end; justify-content:center; gap:30px;
  width:100%; height:100%; padding:0 0 40px;
}
.sec-footer__navwrap{ position:relative; flex:1 0 0; width:1px; display:flex; align-items:flex-start; justify-content:center; }
.sec-footer__nav{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:25px;
  width:100%; margin:0; padding:0; list-style:none; cursor:pointer;
}
.sec-footer__nav-head{ display:flex; align-items:center; gap:10px; width:min-content; }
.sec-footer__nav-label{
  white-space:pre; margin:0;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white-30);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-footer__nav-list{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; align-self:stretch; }
.sec-footer__nav-item{ display:flex; align-items:center; justify-content:flex-start; gap:10px; width:100%; padding:5px 0; }
.sec-footer__link{
  position:relative; display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; gap:5px;
  width:min-content; cursor:pointer; text-decoration:none; color:var(--white);
}
.sec-footer__link-clip{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:min-content; height:min-content; overflow:clip;
}
.sec-footer__link-txt{
  position:relative; display:block; white-space:pre;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
  transform:translateY(0); will-change:transform;
  /* Framer layout spring measured on the live site (48% @90ms, 100% @218ms, 1.5% overshoot peaking @250ms, settled @420ms):
     cubic-bezier(.4,.7,.2,1.1) over .34s fits the samples within 0.15px */
  transition:transform .34s cubic-bezier(.4,.7,.2,1.1);
}
/* hidden duplicate parked 14px above the clip box; on hover both copies slide down 14px (letter-slide swap).
   The parked copy is black at rest (rgb(0,0,0) in the source variant), turns white the instant the hover variant applies,
   and fades back to black over .2s (linear) while it slides out on leave — measured on the live site. */
.sec-footer__link-txt--hover{ position:absolute; top:-14px; left:0; z-index:1; color:var(--black); transition:transform .34s cubic-bezier(.4,.7,.2,1.1), color .2s linear; }
.sec-footer__link:hover .sec-footer__link-txt{ transform:translateY(14px); }
.sec-footer__link:hover .sec-footer__link-txt--hover{ color:var(--white); transition:transform .34s cubic-bezier(.4,.7,.2,1.1), color 0s; }
.sec-footer__link-count{
  position:relative; z-index:1; display:block; white-space:pre;
  font-size:12px; font-weight:600; line-height:13.2px; letter-spacing:-.06em; color:var(--red);
}

/* ---- Brand block (cols 2–3): wordmark + script + EST ---- */
.sec-footer__brand{
  position:relative; grid-column:span 2; place-self:start;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px;
  width:100%; padding:80px 0 0;
}
/* Framer fit-text: the p is laid out at 350.19px inside a 999.51×280 viewBox, the SVG scales it to 97% of the block */
.sec-footer__wordmark{
  position:relative; z-index:2; display:block; flex:none;
  width:97%; height:auto; overflow:hidden;
}
.sec-footer__wordmark-fo{ overflow:visible; transform-origin:center center; }
.sec-footer__wordmark-text{
  margin:0; text-align:left; white-space:pre; word-break:break-word;
  font-family:"'Cal Sans'",var(--font-display); font-weight:400; font-size:350.1891021151422px; line-height:.8em; letter-spacing:-.05em;
  color:var(--white);
}
.sec-footer__script-wrap{
  position:absolute; right:0; bottom:0; z-index:2;
  display:flex; align-items:center; justify-content:center; gap:10px; width:min-content;
}
.sec-footer__script{
  position:relative; z-index:1; margin:0; white-space:pre;
  font-family:var(--font-script); font-weight:400; font-size:80px; line-height:72px; letter-spacing:0; color:var(--red);
}
.sec-footer__script .split-word{ display:inline; white-space:nowrap; }
.sec-footer__script .split-char{ display:inline-block; }
.sec-footer__est{
  position:absolute; top:91px; right:80px; z-index:2; margin:0; white-space:pre;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white-30);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-footer__est-strong{ color:var(--white); }

/* ==========================================================================
   Copyright row
   ========================================================================== */
.sec-footer__copyright{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; max-width:var(--container-max); padding:10px 0 20px;
}

/* col 1 — Created by */
.sec-footer__created-col{ position:relative; place-self:start; display:flex; align-items:center; gap:10px; width:100%; height:100%; }
.sec-footer__created{ position:relative; display:flex; align-items:flex-start; justify-content:center; gap:20px; width:min-content; overflow:clip; }
.sec-footer__avatar{ position:relative; flex:none; width:36px; height:36px; border-radius:50px; overflow:hidden; }
.sec-footer__avatar img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; border-radius:inherit; }
.sec-footer__created-details{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; width:min-content; }
.sec-footer__created-title{ margin:0; white-space:pre; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-footer__created-line{ display:flex; align-items:center; gap:3px; margin:0; white-space:pre; }
.sec-footer__created-dim{ display:block; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--white-50); }
.sec-footer__created-strong{ display:block; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }

/* col 2 — rights + Built in Framer */
.sec-footer__rights-col{ position:relative; place-self:center start; display:flex; align-items:center; gap:10px; width:100%; }
.sec-footer__rights{ position:relative; display:flex; align-items:flex-start; gap:10px; width:min-content; overflow:hidden; }
.sec-footer__rights-text{ display:flex; align-items:center; gap:5px; margin:0; white-space:pre; font-size:14px; line-height:1.5; letter-spacing:-.04em; }
.sec-footer__rights-dim{ display:block; font-weight:400; color:var(--white-30); }
.sec-footer__rights-strong{ display:block; font-weight:700; color:var(--white); }
.sec-footer__framer{ display:flex; align-items:center; gap:6px; height:24px; margin:0; overflow:hidden; white-space:pre; font-size:14px; line-height:1.5; font-weight:700; letter-spacing:-.04em; color:var(--white); }
.sec-footer__framer strong{ font-weight:700; }
.sec-footer__framer-ico{ display:flex; align-items:center; justify-content:center; flex:none; width:24px; height:24px; border-radius:6px; background:var(--black); color:var(--white); mix-blend-mode:difference; aspect-ratio:1/1; }
.sec-footer__framer-ico svg{ display:block; width:8px; height:12px; overflow:visible; }

/* col 3 — legal links */
.sec-footer__legal-col{ position:relative; place-self:center start; display:flex; align-items:center; justify-content:flex-end; gap:25px; width:100%; height:24px; }
.sec-footer__legal{ margin:0; white-space:pre; font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white-30); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-footer__legal a{ color:var(--white-30); text-decoration:none; transition:color .4s cubic-bezier(.44,0,.56,1); }
.sec-footer__legal a:hover{ color:var(--red); }
.sec-footer__legal-sep{ display:block; flex:none; width:1px; height:17px; background:var(--white-20); }

/* OpenType features per Framer text preset (css_rules): the 12px label presets (nav links, NAVIGATION, EST, legal) and the 14px/600
   preset (Сreated / Forde®) carry "ss07" on — set above; the 14px/400, 14px/700, "15" counter and script presets omit it (DM Sans digits differ) */
.sec-footer__link-count,.sec-footer__rights-text,.sec-footer__framer,.sec-footer__created-dim,.sec-footer__script{
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on;
}

/* ==========================================================================
   Responsive (secondary)
   ========================================================================== */
@media (min-width:1620px){
  .sec-footer__width{ max-width:var(--container-max); padding:0; }
  .sec-footer__cols{ left:50%; transform:translateX(-50%); max-width:var(--container-max); padding:0; }
  .sec-footer__brand{ padding-top:100px; }
  .sec-footer__est{ top:131px; right:190px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-footer__cols,.sec-footer__grid,.sec-footer__copyright{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-footer__col--3{ display:none; }
  .sec-footer__width{ gap:0; overflow:visible; }
  .sec-footer__grid{ gap:1px; }
  .sec-footer__brand{ grid-column:span 1; }
  .sec-footer__est{ top:80px; right:60px; }
  .sec-footer__legal-col{ grid-column:span 2; justify-content:flex-start; }
}
@media (max-width:809.98px){
  .sec-footer__cols{ grid-template-columns:repeat(1,minmax(50px,1fr)); padding:0 20px; }
  .sec-footer__col--2,.sec-footer__col--3{ display:none; }
  .sec-footer__width{ overflow:visible; }
  .sec-footer__grid{ grid-template-columns:repeat(1,minmax(50px,1fr)); grid-template-rows:repeat(1,min-content); grid-auto-rows:min-content; gap:1px; padding:80px 20px 40px; }
  .sec-footer__brand{ grid-column:span 1; padding-top:0; }
  .sec-footer__est{ top:-20px; right:3px; }
  .sec-footer__script-wrap{ justify-content:flex-end; width:100%; bottom:-10px; }
  .sec-footer__script{ font-size:44px; line-height:40px; }
  .sec-footer__copyright{ display:flex; flex-direction:column; align-items:center; gap:20px; padding:40px 20px 20px; }
  .sec-footer__rights-col,.sec-footer__legal-col{ justify-content:center; place-self:auto; }
  .sec-footer__rights{ flex-wrap:wrap; justify-content:center; }
}

/* ==== css/sections/20-about-title.css ==== */
/* ===== 20 — About us: page title (0 → 752.8px) — measured on neiden.framer.media/about-us at 1440×900 =====
   section: padding-top 44px (header) · inner (white, z2): padding-top 300 · gap 150 · [wrapper 218.8] · [badge row 40]
   wrapper: padding 0 40px, gap 40 → counter row 14 + title row 80 + lead row 44.8
   3 hairline columns absolutely positioned behind (top 0 → bottom of the badge row). */
.sec-about-title{ position:relative; width:100%; padding-top:var(--header-h); overflow:clip; display:flex; justify-content:center; align-items:center; gap:10px; color:var(--black); font-family:var(--font-sans); }
.sec-about-title__inner{ position:relative; z-index:2; width:100%; background:var(--white); overflow:clip; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:150px; padding:300px 0 0; }

/* hairline columns */
.sec-about-title__cols{ position:absolute; top:0; left:0; z-index:0; width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad); display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); overflow:clip; pointer-events:none; }
@media (min-width:1620px){ .sec-about-title__cols{ left:calc(50% - min(var(--container-max),100%)/2); } }
.sec-about-title__col{ height:100%; border-right:1px solid var(--line-light); }
.sec-about-title__col:first-child{ border-left:1px solid var(--line-light); }

/* wrapper */
.sec-about-title__wrap{ position:relative; z-index:1; width:100%; padding:0 var(--page-pad); display:flex; flex-direction:column; align-items:flex-start; gap:40px; }
.sec-about-title__row{ position:relative; width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; }
.sec-about-title__spacer{ position:relative; min-height:14px; overflow:clip; }

/* counter label (same component as the home "Hello" counter) */
.sec-about-title__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; }
.sec-about-title__counter-box{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); will-change:transform,opacity; }
.sec-about-title__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-about-title__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-about-title__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-about-title__label-part{ display:block; white-space:pre; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-about-title__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-about-title__label-part--link{ cursor:pointer; }

/* title */
.sec-about-title__title-wrap{ position:relative; grid-column:span 2; width:100%; }
.sec-about-title__title{ margin:0; color:var(--black); white-space:pre-wrap; word-break:break-word; }
.sec-about-title__word{ display:inline-block; will-change:transform,opacity; }

/* lead paragraph */
.sec-about-title__lead-wrap{ position:relative; grid-column:2; width:100%; will-change:transform,opacity; }
.sec-about-title__lead{ margin:0; color:var(--black-70); text-align:left; white-space:pre-wrap; word-break:break-word; }

/* badge row */
.sec-about-title__badge-row{ position:relative; z-index:1; width:100%; max-width:var(--container-max); padding:0 var(--page-pad); display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; overflow:clip; }
.sec-about-title__badge{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:40px; background:var(--grey-f2); }
.sec-about-title__badge-spacer{ height:25px; }
.sec-about-title__badge-text{ margin:0; white-space:pre; color:var(--black); }

/* ---- responsive (secondary) ---- */
@media (max-width:1199.98px){
  .sec-about-title__inner{ gap:100px; padding:150px var(--page-pad) 0; }
  .sec-about-title__wrap{ padding:0; gap:30px; }
  .sec-about-title__row,.sec-about-title__cols,.sec-about-title__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-about-title__cols{ padding:0 var(--page-pad); }
  .sec-about-title__col:nth-child(3),.sec-about-title__spacer,.sec-about-title__badge-spacer:nth-child(3){ display:none; }
  .sec-about-title__counter{ grid-column:1; }
  .sec-about-title__title-wrap{ grid-column:span 2; }
  .sec-about-title__title{ font-size:80px; }
  .sec-about-title__lead-wrap{ grid-column:span 2; }
  .sec-about-title__badge-row{ padding:0; }
}
@media (max-width:809.98px){
  .sec-about-title__inner{ gap:70px; padding:150px var(--page-pad) 0; }
  .sec-about-title__row,.sec-about-title__cols,.sec-about-title__badge-row{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-about-title__col:nth-child(2),.sec-about-title__badge-spacer{ display:none; }
  .sec-about-title__title-wrap{ grid-column:1; }
  .sec-about-title__title{ font-size:60px; }
  .sec-about-title__lead{ font-size:15px; }
}

/* ==== css/sections/21-about-hello.css ==== */
/* ==========================================================================
   21 — About us: "Hello" block ("Neiden Studio started in 2019…")
   Measured on neiden.framer.media/about-us at 1440×900 (breakpoint 1200–1619).
   Block = 150px padding + [subtitle 14 + 50 + quote 275 + 50 + paragraphs 89.6] + 150px = 778.6px, bg #f2f2f2
   ========================================================================== */
.sec-about-hello{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:200px;
  width:100%; padding:150px var(--page-pad);
  background:var(--grey-f2); color:var(--black);
  overflow:clip;
  font-family:var(--font-sans);
}

/* ---- hairline column grid (behind everything) ---- */
.sec-about-hello__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none;
}
.sec-about-hello__col{ position:relative; height:100%; }
.sec-about-hello__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-about-hello__col--1::after{ border-left-width:1px; }

/* ---- Hello wrapper / quote group ---- */
.sec-about-hello__wrap{
  position:relative; z-index:2; width:100%;
  display:flex; justify-content:center; align-items:center;
  mix-blend-mode:multiply;
}
.sec-about-hello__quote{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:50px;
  background:var(--white);
  mix-blend-mode:difference;
}
.sec-about-hello__spacer{ position:relative; height:1px; overflow:clip; }
.sec-about-hello__spacer--tall{ height:100%; }

/* ---- Subtitle label ---- */
.sec-about-hello__subtitle{
  position:relative; z-index:2; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:14px;
  justify-content:center; height:14px;
}
.sec-about-hello__label-wrap{ position:relative; width:100%; height:14px; align-self:start; }
.sec-about-hello__label-box{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); }
.sec-about-hello__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-about-hello__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-about-hello__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-about-hello__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-about-hello__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-about-hello__label-part--link{ cursor:pointer; }

/* ---- Big quote ---- */
.sec-about-hello__text{
  position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  justify-content:center;
}
.sec-about-hello__title-wrap{ position:relative; grid-column:span 2; width:100%; align-self:start; }
.sec-about-hello__title{
  display:block; margin:0; text-align:left;
  font-family:var(--font-sans); font-size:50px; font-weight:700; line-height:55px; letter-spacing:-.05em;
  color:var(--black);
}
.sec-about-hello__w{ display:inline; opacity:.08; }
.sec-about-hello__title.is-static .sec-about-hello__w{ opacity:1; }

/* ---- Images ---- */
.sec-about-hello__images{
  position:absolute; top:50%; left:0; right:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:450px; justify-content:center;
  transform:translateY(-50%); pointer-events:none;
}
.sec-about-hello__imgcell{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:450px; }
.sec-about-hello__imgcell--2{ min-height:0; height:315px; z-index:0; }
.sec-about-hello__img{ position:absolute; left:0; bottom:-60px; width:300px; height:370px; z-index:0; will-change:transform; }
.sec-about-hello__img-fill{ position:absolute; inset:0; }
.sec-about-hello__img-fill img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-about-hello__script{
  position:absolute; right:-40px; bottom:-20px; z-index:1;
  margin:0; white-space:pre;
  font-family:var(--font-script); font-size:40px; font-weight:400; line-height:40px; letter-spacing:0;
  color:var(--red);
}

/* ---- Two paragraphs ---- */
.sec-about-hello__author{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
}
.sec-about-hello__column{ position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:50px; width:100%; align-self:start; }
.sec-about-hello__column--1{ padding-right:40px; }
.sec-about-hello__column--2{ padding-right:50px; }
.sec-about-hello__para{ width:100%; white-space:pre-wrap; word-break:break-word; text-align:left; color:var(--black-70); }

/* ---- Facts (corner labels) ---- */
.sec-about-hello__facts{ position:absolute; top:.0381947%; left:0; width:100%; height:100%; z-index:1; overflow:clip; pointer-events:none; } /* top offset as on the live site (0.3px → labels at y 736.9) */
.sec-about-hello__fact{ position:absolute; bottom:30px; display:flex; align-items:center; justify-content:center; gap:10px; overflow:clip; mix-blend-mode:difference; z-index:1; }
.sec-about-hello__fact--l{ left:var(--page-pad); }
.sec-about-hello__fact--r{ right:var(--page-pad); }
.sec-about-hello__fact p{
  white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-about-hello{ padding:200px 0; }
  .sec-about-hello__wrap{ max-width:var(--container-max); }
  .sec-about-hello__cols,.sec-about-hello__facts{ right:auto; left:50%; width:100%; max-width:var(--container-max); transform:translateX(-50%); }
  .sec-about-hello__cols{ padding:0; }
  .sec-about-hello__fact--l{ left:0; }
  .sec-about-hello__fact--r{ right:0; }
  .sec-about-hello__img{ width:370px; height:450px; bottom:-110px; }
  .sec-about-hello__script{ right:-50px; bottom:-10px; }
  .sec-about-hello__imgcell--2{ height:450px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-about-hello{ padding:100px 40px; }
  .sec-about-hello__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-about-hello__col--3{ display:none; }
  .sec-about-hello__subtitle,.sec-about-hello__text,.sec-about-hello__author{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-about-hello__title-wrap{ grid-column:auto; }
  .sec-about-hello__column--1{ gap:40px; z-index:1; }
  .sec-about-hello__column--2{ display:none; }
  .sec-about-hello__images{ right:auto; width:100%; grid-template-rows:260px; }
  .sec-about-hello__imgcell{ min-height:0; height:260px; }
  .sec-about-hello__imgcell--3{ display:none; }
  .sec-about-hello__img{ width:240px; height:300px; bottom:-57px; }
  .sec-about-hello__title{ font-size:40px; line-height:44px; }
}
@media (max-width:809.98px){
  .sec-about-hello{ padding:100px 20px; }
  .sec-about-hello__cols{ grid-template-columns:1fr; padding:0 20px; }
  .sec-about-hello__col--2,.sec-about-hello__col--3{ display:none; }
  .sec-about-hello__quote{ gap:30px; }
  .sec-about-hello__subtitle{ display:flex; flex-direction:column; align-items:flex-start; height:auto; }
  .sec-about-hello__label-wrap{ width:auto; }
  .sec-about-hello__text,.sec-about-hello__author{ display:flex; flex-direction:column; }
  .sec-about-hello__spacer{ display:none; }
  .sec-about-hello__images{ position:relative; top:auto; left:auto; right:auto; transform:none; display:flex; align-items:center; width:100%; }
  .sec-about-hello__imgcell--2,.sec-about-hello__imgcell--3{ display:none; }
  .sec-about-hello__imgcell--1{ min-height:0; height:382px; }
  .sec-about-hello__img{ position:relative; bottom:auto; left:auto; width:100%; height:382px; }
  .sec-about-hello__script{ right:auto; left:1px; bottom:-18px; }
  .sec-about-hello__column--1,.sec-about-hello__column--2{ padding-right:0; gap:30px; align-items:center; }
  .sec-about-hello__title{ font-size:30px; line-height:33px; }
  .sec-about-hello__fact--l{ left:50%; bottom:20px; transform:translateX(-50%); }
  .sec-about-hello__fact--r{ display:none; }
}

/* ==== css/sections/21b-about-info.css ==== */
/* ==========================================================================
   21b — About us · short info (about-us page): "Life at Neiden" photo stack + facts,
   "One Studio." features, "Our awards" list + logo ticker.
   Measured on neiden.framer.media/about-us at 1440×900 (breakpoint 1200–1619):
     photos grid 2050 (150 + 1500 + 400, facts card row absolute at 1760) ·
     features 1699 (title 338.8 + 3×403.4 + 150) · awards 798 (150 + 498 + 150) = 4547px.
   ========================================================================== */
.sec-about-info{
  position:relative; width:100%; display:flex; flex-direction:column; align-items:center;
  background:var(--white); color:var(--black); font-family:var(--font-sans);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on;
}

/* ---- hairline columns of the parent "Content" grid (x 40 / 493 / 946 / 1400) ---- */
.sec-about-info__cols{
  position:absolute; inset:0; z-index:0; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  padding:0 var(--page-pad); pointer-events:none;
}
.sec-about-info__col{ position:relative; height:100%; }
.sec-about-info__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-about-info__col--1::after{ border-left-width:1px; }

/* ---- shared: "[ ND® ‒ … / 日本語 ]" label ---- */
.sec-about-info__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-about-info__marks{ display:flex; align-items:center; flex:none; width:40px; height:14px; }
.sec-about-info__marks svg{ display:block; flex:none; }
.sec-about-info__label-text{ display:flex; align-items:flex-end; gap:2px; height:14px; white-space:pre; }
.sec-about-info__label-item{ display:block; font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); }
.sec-about-info__label-item--link{ cursor:pointer; }
.sec-about-info__label-item--dash{ position:relative; width:7.625px; color:transparent; }
.sec-about-info__label-item--dash::after{ content:""; position:absolute; left:0; width:8.5px; top:7px; height:2px; background:var(--black); }
.sec-about-info__label-item--jp{ font-weight:500; color:var(--black-40); }
/* live presets 1x9173r (14/600 labels, award names), 1l3oc22 (14/500 years, JP), h3n2e3 (fact titles/sub-lines) all carry "ss07" (measured: "26©" 25.6, "24©" 26.3, "+6 This Year" 73.6, "Since 2019" 66.9) */
.sec-about-info__label-item,
.sec-about-info__aw-name p,
.sec-about-info__aw-year,
.sec-about-info__ft-jp,
.sec-about-info__fact-title,
.sec-about-info__fact-sub p{ font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }

/* ---- shared: heading block (label + h3 + lead), 244.8px ---- */
.sec-about-info__heading{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:30px; width:100%; }
.sec-about-info__h3{ width:100%; font-size:70px; font-weight:600; line-height:63px; letter-spacing:-.06em; color:var(--black); white-space:pre-wrap; }
.sec-about-info__h3-group{ display:flex; flex-direction:column; width:100%; }
.sec-about-info__lead{ display:flex; flex-direction:column; width:100%; }
.sec-about-info__lead p,
.sec-about-info__ft-lead{ width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; white-space:pre-wrap; }
.sec-about-info__ch-word{ display:inline-block; white-space:nowrap; }
.sec-about-info__lt,
.sec-about-info__ln,
.sec-about-info__wd{ display:inline-block; will-change:transform,opacity; }

/* ==========================================================================
   A · Photos section
   ========================================================================== */
.sec-about-info__photos{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:1500px; justify-content:center;
  padding:150px var(--page-pad) 400px; overflow:clip; will-change:transform,opacity;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-about-info__photos{ max-width:none; } }
.sec-about-info__photos-col{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:10px; height:1500px; overflow:clip; }
.sec-about-info__photos-col .sec-about-info__heading{ position:sticky; top:150px; }

.sec-about-info__images{ position:relative; grid-column:span 2; display:flex; flex-direction:column; justify-content:center; align-items:center; height:1500px; overflow:clip; }
.sec-about-info__images-inner{ position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; width:100%; height:1500px; overflow:clip; }
.sec-about-info__img{ position:sticky; top:150px; width:100%; height:500px; will-change:transform; }
.sec-about-info__img--1{ z-index:1; }
.sec-about-info__img--2{ z-index:2; }
.sec-about-info__img--3{ z-index:3; }
.sec-about-info__img-fill{ position:absolute; inset:0; }
.sec-about-info__img-fill img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }

/* Short summary · facts (absolute row at grid y 1760, 290px tall) */
.sec-about-info__facts{ position:absolute; top:1760px; left:0; right:0; z-index:2; height:290px; padding:0 var(--page-pad); overflow:hidden; }
.sec-about-info__facts-row{ display:flex; justify-content:center; align-items:center; width:100%; height:290px; }
.sec-about-info__fact{
  position:relative; flex:1 0 0; width:1px; height:290px;
  display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  padding:40px 40px 20px; background:var(--grey-19); color:var(--white);
}
.sec-about-info__fact-head{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; overflow:clip; }
.sec-about-info__dots{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:26px; height:8px; overflow:clip; }
.sec-about-info__dots > span{ display:flex; justify-content:center; align-items:center; gap:4px; width:26px; height:2px; overflow:clip; }
.sec-about-info__dots i{ display:block; width:2px; height:2px; background:var(--white-20); }
.sec-about-info__fact-title{ font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white); white-space:pre; }
.sec-about-info__fact-title strong,
.sec-about-info__fact-sub strong{ font-family:var(--font-inter); font-weight:700; }
.sec-about-info__fact-counter{ display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; width:100%; overflow:clip; }
.sec-about-info__fact-sub{ display:flex; justify-content:center; align-items:center; gap:10px; min-height:19.6px; overflow:clip; } /* 20.6px on the Inter <strong> card, as live */
.sec-about-info__fact-sub p{ font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--white-30); white-space:pre; }
.sec-about-info__arrow{
  flex:none; width:16px; height:16px; background:var(--white);
  -webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 6.75 15 L 6.75 0 M 6.75 0 L 0 6.75 M 6.75 0 L 13.5 6.75' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(5.25 4.5)'/%3E%3C/svg%3E") alpha no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 6.75 15 L 6.75 0 M 6.75 0 L 0 6.75 M 6.75 0 L 13.5 6.75' fill='transparent' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' stroke='black' transform='translate(5.25 4.5)'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* odometer: 70px/700 digits in 0.62em × 1.2em windows (43.4 × 84 px), strip 0…n rolls 84px per digit */
.sec-about-info__num{
  position:relative; display:inline-flex; align-items:flex-start; height:87px;
  font-size:70px; font-weight:700; line-height:56px; color:var(--white); white-space:pre; font-variant-numeric:tabular-nums;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-about-info__digits{ display:inline-flex; align-items:center; height:84px; }
.sec-about-info__dw{ position:relative; display:inline-flex; justify-content:center; width:.62em; height:1.2em; overflow:hidden; }
.sec-about-info__dw--multi{ -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%); }
.sec-about-info__strip{ position:absolute; top:0; right:0; display:block; width:100%; will-change:transform; }
.sec-about-info__strip span{ display:flex; justify-content:center; align-items:center; height:1.2em; line-height:1em; }
.sec-about-info__suffix{ display:block; height:70px; margin:7px 0 0 5.6px; line-height:70px; align-self:flex-start; }

/* ==========================================================================
   B · Features ("One Studio.")
   ========================================================================== */
.sec-about-info__features{
  position:relative; z-index:1; width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center;
  padding:0 var(--page-pad); background:var(--black-05); overflow:clip;
}
.sec-about-info__ft-title{
  position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-end;
  width:100%; max-width:var(--container-max); padding:150px 0 100px;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-about-info__ft-title{ max-width:none; } }
.sec-about-info__ft-sub{ position:relative; z-index:1; display:flex; flex:1 0 0; width:1px; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:30px; will-change:transform,opacity; }
.sec-about-info__ft-heading{ position:relative; z-index:1; display:flex; flex:2 0 0; width:1px; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:23px; }
.sec-about-info__h2{ font-size:100px; font-weight:600; line-height:80px; letter-spacing:-.08em; white-space:pre; color:var(--black); }
.sec-about-info__ft-rate{ position:absolute; top:30px; right:40px; z-index:1; display:flex; justify-content:center; align-items:center; gap:10px; height:12px; overflow:clip; mix-blend-mode:difference; }
.sec-about-info__ft-rate p{ font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black-50); white-space:pre; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-about-info__ft-rate span{ color:var(--black); }

.sec-about-info__ft-content{ position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; max-width:var(--container-max); padding:0 0 150px; }
.sec-about-info__ft-row{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center; width:100%; }
.sec-about-info__ft-row--1,
.sec-about-info__ft-row--2{ position:sticky; top:200px; }
.sec-about-info__ft-spacer{ position:relative; overflow:clip; }
.sec-about-info__ft-spacer--2{ grid-column:span 2; }
.sec-about-info__feature{ position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:30px; width:100%; }
.sec-about-info__ft-img{ position:relative; display:flex; justify-content:center; align-items:center; gap:10px; width:100%; height:350px; overflow:clip; }
.sec-about-info__ft-par{ position:absolute; inset:0; z-index:1; will-change:transform; }
.sec-about-info__ft-par-in{ position:relative; width:100%; height:100%; overflow:hidden; }
.sec-about-info__ft-par-img{ position:absolute; top:-150px; left:0; width:100%; height:calc(100% + 300px); object-fit:cover; object-position:center; will-change:transform; }
.sec-about-info__ft-mask{ position:absolute; inset:0; z-index:1; background:var(--black-20); }
.sec-about-info__grain{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.sec-about-info__grain i{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; will-change:transform;
  animation:sec-about-info-grain 1.2s steps(1) infinite;
}
@keyframes sec-about-info-grain{
  0%{ transform:scale(1.2) translate(9.25%,-9.25%); } 12.5%{ transform:scale(1.2) translate(6.75%,-6.75%); } 25%{ transform:scale(1.2) translate(-3.25%,3.25%); }
  37.5%{ transform:scale(1.2) translate(-11%,11%); } 50%{ transform:scale(1.2) translate(2.5%,-2.5%); } 62.5%{ transform:scale(1.2) translate(12%,-12%); }
  75%{ transform:scale(1.2) translate(-7.5%,7.5%); } 87.5%{ transform:scale(1.2) translate(-1%,1%); } 100%{ transform:scale(1.2) translate(9.25%,-9.25%); }
}
.sec-about-info.is-static .sec-about-info__grain i{ animation-play-state:paused; }
.sec-about-info__ft-counter{ position:absolute; left:30px; bottom:30px; z-index:2; display:flex; justify-content:center; align-items:flex-start; gap:10px; height:14px; will-change:transform,opacity; }
.sec-about-info__ft-count{ display:flex; justify-content:center; align-items:center; gap:3px; height:14px; }
.sec-about-info__ft-count p{ font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white); white-space:pre; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-about-info__ft-jp{ font-size:14px; font-weight:500; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white-50); white-space:pre; }
.sec-about-info__ft-name{ display:flex; justify-content:center; align-items:center; gap:3px; width:100%; }
.sec-about-info__ft-name p{ width:100%; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.04em; color:var(--black); white-space:pre-wrap; will-change:transform,opacity; }

/* ==========================================================================
   C · Awards ("Our awards")
   ========================================================================== */
.sec-about-info__awards{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:498px; justify-content:center;
  padding:150px var(--page-pad); overflow:clip; will-change:transform,opacity;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-about-info__awards{ max-width:none; } }
.sec-about-info__aw-title{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; height:498px; overflow:clip; }

/* "VIEW OUR WORK" button: 330×40 clip window over a 60px link, rgb(33,33,33) → red on hover */
.sec-about-info__btn-wrap{ position:relative; display:flex; justify-content:space-between; align-items:center; width:330px; height:40px; overflow:clip; cursor:pointer; }
.sec-about-info__btn{
  position:relative; display:flex; flex:1 0 0; min-width:0; flex-direction:column; justify-content:center; align-items:center; gap:10px;
  height:60px; background:rgb(33,33,33); color:var(--white); text-decoration:none;
  transition:background-color .74s cubic-bezier(.25,.5,.24,1);
}
.sec-about-info__btn-label{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; align-items:center; height:12px; overflow:clip; pointer-events:none; user-select:none; }
.sec-about-info__btn-label p{ white-space:pre; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-about-info__w{ white-space:nowrap; }
.sec-about-info__btn .sec-about-info__ch{ display:inline-block; will-change:transform; }
.sec-about-info__plus{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; aspect-ratio:1; pointer-events:none; user-select:none; background:var(--white);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:transform .51s cubic-bezier(.3,.86,.33,1);
}
.sec-about-info__btn-wrap:hover .sec-about-info__btn{ background:var(--red); transition:background-color .44s cubic-bezier(.2,.98,.49,1); }
.sec-about-info__btn-wrap:hover .sec-about-info__plus{ transform:rotate(-180deg); transition:transform .48s cubic-bezier(.29,.66,.25,1); }
@keyframes sec-about-info-ch-in{ from{ transform:translateY(-15px); } to{ transform:translateY(0); } }
@keyframes sec-about-info-ch-out{ from{ transform:translateY(15px); } to{ transform:translateY(0); } }
.sec-about-info__btn-wrap--in .sec-about-info__ch{ animation:sec-about-info-ch-in .12s ease both; animation-delay:calc(45ms + var(--i) * 30ms); }
.sec-about-info__btn-wrap--out .sec-about-info__ch{ animation:sec-about-info-ch-out .12s ease both; animation-delay:calc(var(--i) * 30ms); }

/* awards table (2 columns of 453.33): headings 42px, rows 51px with 1px bottom rules */
.sec-about-info__aw-list{ position:relative; grid-column:span 2; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; height:498px; }
.sec-about-info__aw-head{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); width:100%; padding:15px 0; overflow:clip; will-change:transform,opacity; }
.sec-about-info__aw-head p{ font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black-30); white-space:pre; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-about-info__aw-head-r{ display:flex; justify-content:space-between; align-items:center; overflow:clip; }
.sec-about-info__aw-rows{ width:100%; }
.sec-about-info__aw-row{
  position:relative; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:21px; justify-content:center;
  width:100%; padding:15px 0; cursor:pointer; will-change:transform,opacity;
}
.sec-about-info__aw-row::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--line-light); pointer-events:none; }
.sec-about-info__aw-name{ position:relative; align-self:center; justify-self:start; height:14px; overflow:clip; }
.sec-about-info__aw-name-in{ display:block; transform:translateY(-13px); transition:transform .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995); }
.sec-about-info__aw-name p:first-child{ margin-bottom:-1px; }
.sec-about-info__aw-name p:last-child{ transition:transform .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995); } /* live: visible copy 0 → 14px, incoming copy -13 → 0 */
.sec-about-info__aw-name p{ font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black); white-space:pre; }
.sec-about-info__aw-r{ display:flex; justify-content:space-between; align-items:center; width:100%; height:21px; overflow:clip; }
.sec-about-info__aw-what{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; color:var(--black); white-space:pre; }
.sec-about-info__aw-year{ font-size:14px; font-weight:500; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black-50); white-space:pre; }
/* hover preview: 200×200 window at left 250 rising from bottom -120 → -80; the 200×250 photo slides top 0 → -45 and fades in */
.sec-about-info__aw-pic{
  position:absolute; left:250px; bottom:-120px; z-index:2; display:flex; justify-content:center; align-items:center; gap:10px;
  width:200px; height:200px; overflow:clip; pointer-events:none;
  transition:bottom .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995);
}
.sec-about-info__aw-pic-in{ position:absolute; top:0; left:0; width:200px; height:250px; opacity:0; overflow:clip; transition:top .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995), opacity .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995); }
.sec-about-info__aw-pic-in img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
/* hover in = hover out = 0.7s spring, bounce 0 (sampled on the live row: 29%@76ms, 59%@139, 80%@203, 89%@265, 95%@328, 98%@390), emulated with linear() stops */
.sec-about-info__aw-row:hover .sec-about-info__aw-pic{ bottom:-80px; transition:bottom .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995); }
.sec-about-info__aw-row:hover .sec-about-info__aw-pic-in{ top:-45px; opacity:1; transition:top .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995), opacity .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995) 60ms; } /* live: the fade lags the slide by ~60ms on hover-in only */
.sec-about-info__aw-row:hover .sec-about-info__aw-name-in{ transform:translateY(0); transition:transform .7s linear(0, 0.0905, 0.265, 0.4432, 0.5951, 0.7137, 0.8017, 0.8648, 0.909, 0.9393, 0.9599, 0.9737, 0.9828, 0.9889, 0.9928, 0.9954, 0.997, 0.9981, 0.9988, 0.9992, 0.9995); }
.sec-about-info__aw-row:hover .sec-about-info__aw-name p:last-child{ transform:translateY(1px); }
.sec-about-info__aw-row:hover{ z-index:3; }

/* logo ticker: 906×50 window, 11 black client logos, 130px gaps, 30px/s to the left */
.sec-about-info__ticker{ position:relative; z-index:1; display:flex; justify-content:flex-start; align-items:center; width:100%; height:150px; padding:100px 0 0; }
.sec-about-info__ticker-inner{ position:relative; display:flex; justify-content:center; align-items:center; gap:10px; width:100%; height:50px; overflow:clip; opacity:0; transition:opacity .25s ease; }
.sec-about-info__ticker-inner.is-in{ opacity:1; }
.sec-about-info__ticker-track{ width:100%; overflow:clip; }
.sec-about-info__ticker-track ul{ display:flex; justify-content:flex-start; align-items:center; gap:130px; width:max-content; }
.sec-about-info__ticker-track li{ flex:none; display:flex; align-items:center; }
.sec-about-info__ticker-track li > span{ display:block; }

/* ---- responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-about-info__photos,.sec-about-info__awards{ padding-left:0; padding-right:0; }
  .sec-about-info__cols{ padding:0; left:50%; right:auto; width:100%; max-width:var(--container-max); transform:translateX(-50%); }
  .sec-about-info__facts{ padding:0; left:50%; right:auto; width:100%; max-width:var(--container-max); transform:translateX(-50%); }
  .sec-about-info__features{ padding:0; }
  .sec-about-info__ft-rate{ right:0; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-about-info__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-about-info__cols .sec-about-info__col:last-child{ display:none; }
  .sec-about-info__photos{ grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:auto auto; padding:100px var(--page-pad) 300px; }
  .sec-about-info__photos-col{ grid-column:span 2; height:auto; }
  .sec-about-info__photos-col .sec-about-info__heading{ position:relative; top:auto; }
  .sec-about-info__images,.sec-about-info__images-inner{ height:auto; }
  .sec-about-info__img{ position:relative; top:auto; height:420px; }
  .sec-about-info__facts{ position:relative; top:auto; height:auto; }
  .sec-about-info__facts-row{ flex-direction:column; height:auto; }
  .sec-about-info__fact{ flex:none; width:100%; }
  .sec-about-info__ft-title{ flex-direction:column; align-items:flex-start; gap:30px; padding:100px 0 50px; }
  .sec-about-info__ft-sub,.sec-about-info__ft-heading{ flex:none; width:100%; }
  .sec-about-info__h2{ font-size:70px; line-height:60px; }
  .sec-about-info__ft-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-about-info__ft-spacer--2{ grid-column:span 1; }
  .sec-about-info__awards{ grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:auto auto; padding:100px var(--page-pad); gap:50px; }
  .sec-about-info__aw-title,.sec-about-info__aw-list{ grid-column:span 2; height:auto; gap:40px; }
}
@media (max-width:809.98px){
  .sec-about-info__cols{ grid-template-columns:1fr; }
  .sec-about-info__cols .sec-about-info__col:not(:first-child){ display:none; }
  .sec-about-info__photos{ display:flex; flex-direction:column; padding:100px var(--page-pad) 200px; }
  .sec-about-info__photos-col{ height:auto; }
  .sec-about-info__photos-col .sec-about-info__heading{ position:relative; top:auto; }
  .sec-about-info__h3{ font-size:50px; line-height:45px; }
  .sec-about-info__images,.sec-about-info__images-inner{ height:auto; }
  .sec-about-info__img{ position:relative; top:auto; height:260px; }
  .sec-about-info__facts{ position:relative; top:auto; height:auto; padding:0; }
  .sec-about-info__facts-row{ flex-direction:column; height:auto; }
  .sec-about-info__fact{ flex:none; width:100%; padding:30px 20px 20px; }
  .sec-about-info__ft-title{ flex-direction:column; align-items:flex-start; gap:20px; padding:100px 0 50px; }
  .sec-about-info__ft-sub,.sec-about-info__ft-heading{ flex:none; width:100%; }
  .sec-about-info__h2{ font-size:50px; line-height:45px; white-space:normal; }
  .sec-about-info__ft-row{ display:flex; flex-direction:column; position:relative; top:auto; }
  .sec-about-info__ft-spacer{ display:none; }
  .sec-about-info__feature{ margin-bottom:40px; }
  .sec-about-info__awards{ display:flex; flex-direction:column; gap:50px; padding:100px var(--page-pad); }
  .sec-about-info__aw-title,.sec-about-info__aw-list{ height:auto; gap:40px; }
  .sec-about-info__aw-pic{ display:none; }
}

/* MASK client logos (dark PNG) in the awards ticker */
.sec-about-info__client{ display:block; height:28px; width:auto; max-width:150px; object-fit:contain; }
html[lang="fr"] .sec-about-info__suffix--word{ margin-left:18px; }

/* ==== css/sections/22-projects-title.css ==== */
/* ==========================================================================
   22 — Projects page: Title block (measured on neiden.framer.media/projects at 1440)
   Wrapper: flex column, padding-top 300, gap 150, white, overflow clip, z 2 → 708.8px tall
   Inner (y300, h218.8): 3-col grid rows — counter 14 / gap 40 / title 80 / gap 40 / description 44.8
   Tools row (y668.8, h40): "All categories" dropdown (col 1, #f2f2f2) + search input (col 3)
   ========================================================================== */
.sec-projects-title{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:150px;
  width:100%; padding:300px 0 0;
  background:var(--white); color:var(--black); font-family:var(--font-sans);
  overflow:clip;
}

/* ---- hairline column grid (absolute) ---- */
.sec-projects-title__cols{
  position:absolute; top:0; left:calc(50% - min(var(--container-max),100%)/2); z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center;
  width:100%; max-width:var(--container-max); height:100%; padding:0;
  overflow:clip; pointer-events:none;
}
.sec-projects-title__col{ position:relative; height:100%; border-right:1px solid var(--line-light); }
.sec-projects-title__col--first{ border-left:1px solid var(--line-light); }

/* ---- inner content ---- */
.sec-projects-title__inner{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:50px;
  width:100%; max-width:var(--container-max); padding:0;
}
.sec-projects-title__row{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  justify-content:center; gap:0; width:100%;
}
.sec-projects-title__spacer{ position:relative; min-height:14px; overflow:clip; }

/* counter label: 5 red flags (40px) + gap 15 + "[ ND® ‒ PORTFOLIO / 制作実績 ]" */
.sec-projects-title__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; }
.sec-projects-title__counter-box{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); }
.sec-projects-title__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-projects-title__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-projects-title__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-projects-title__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-projects-title__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-projects-title__label-part--link{ cursor:pointer; }

/* title: DM Sans 100/80 600 -8px, spans 2 columns from column 2 */
.sec-projects-title__h{
  position:relative; grid-column:span 2; place-self:start; width:100%;
  color:var(--black); white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
}
.sec-projects-title__word{ display:inline-block; will-change:transform,opacity; }

/* description: DM Sans 16/22.4 400 -0.8px rgba(0,0,0,.7), column 2 */
.sec-projects-title__desc{ position:relative; place-self:start; width:100%; color:var(--black-70); white-space:normal; text-align:left; }
.sec-projects-title__desc-line{ display:none; white-space:pre-wrap; word-break:break-word; }
.sec-projects-title__desc-line--desk{ display:block; }

/* ---- tools row: dropdown + search ---- */
.sec-projects-title__tools{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  justify-content:center; gap:0; width:100%; max-width:var(--container-max); height:min-content; padding:0;
  overflow:visible;
}
.sec-projects-title__sorter,.sec-projects-title__search-block{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:40px;
}
.sec-projects-title__tools-spacer{ position:relative; height:25px; }

/* dropdown ("All categories") */
.sec-projects-title__dropdown-wrap{ position:relative; width:100%; height:100%; }
.sec-projects-title__dropdown{
  position:relative; display:flex; align-items:center; justify-content:space-between;
  width:100%; height:40px; padding:0 30px 0 40px; margin:0;
  background:var(--grey-f2); color:var(--black); cursor:pointer; border:0; border-radius:0; text-align:left;
  -webkit-appearance:none; appearance:none;
}
.sec-projects-title__dropdown:focus-visible{ outline:1px solid var(--black-40); outline-offset:-1px; }
.sec-projects-title__dropdown-text{ display:block; white-space:pre; color:var(--black); }
.sec-projects-title__chevron{ display:block; flex:none; width:22px; height:22px; color:var(--black); } /* no rotation on the live site */
/* category panel (live: portal, 517×288 white panel flush on top of the trigger, shadow 0 10px 20px rgba(0,0,0,.05),
   fades in over ~.2s, closes instantly when the pointer leaves; rows 36px, 12px/600 uppercase, hover #f2f2f2) */
.sec-projects-title__menu{
  position:absolute; bottom:100%; left:0; z-index:11; display:none; flex-direction:column; gap:0;
  width:517px; max-width:calc(100vw - 2*var(--page-pad)); margin:0; padding:0;
  background:var(--white); box-shadow:rgba(0,0,0,.05) 0 10px 20px 0; overflow:clip;
}
.sec-projects-title.is-open .sec-projects-title__menu{ display:flex; animation:sec-projects-title-fade .2s ease-out both; }
@keyframes sec-projects-title-fade{ from{ opacity:0; } to{ opacity:1; } }
.sec-projects-title__menu-group{ display:flex; flex-direction:column; gap:0; }
.sec-projects-title__menu-item{
  display:block; width:100%; height:36px; margin:0; padding:10px 20px; border:0; border-radius:0;
  background:var(--white); color:var(--black); cursor:pointer; user-select:none; white-space:nowrap; text-align:start;
  font-family:var(--font-sans); font-size:12px; font-weight:600; font-style:normal; line-height:16px; letter-spacing:normal; text-transform:uppercase;
  font-feature-settings:normal; transition:background .2s; -webkit-appearance:none; appearance:none;
}
.sec-projects-title__menu-item:hover{ background:var(--grey-f2); }
.sec-projects-title__menu-item:focus-visible{ outline:1px solid var(--black-40); outline-offset:-1px; }

/* search */
.sec-projects-title__search{
  display:flex; align-items:center; justify-content:space-between; flex:1 0 0;
  width:100%; height:100%; padding:0 40px; margin:0; overflow:visible;
}
.sec-projects-title__search-field{
  position:relative; display:flex; align-items:center; justify-content:center; flex:1 0 0; width:1px; height:100%;
}
.sec-projects-title__input{
  display:flex; align-items:center; width:100%; height:100%; padding:0; margin:0;
  font-family:var(--font-sans); font-size:12px; font-weight:600; font-style:normal; letter-spacing:-.02em; line-height:normal; font-feature-settings:normal;
  color:var(--black); background:var(--white); border:0; border-radius:0; outline:none; box-shadow:none; overflow:clip;
  -webkit-appearance:none; appearance:none; cursor:text;
}
.sec-projects-title__input::placeholder{ color:var(--black); opacity:1; }
/* live: the 28px right padding (room for the ✕) is only set once the field has a value */
.sec-projects-title__search-field.has-value .sec-projects-title__input{ padding-right:28px; }
.sec-projects-title__input::-webkit-search-decoration,.sec-projects-title__input::-webkit-search-cancel-button{ display:none; }
.sec-projects-title__search-icon{
  position:absolute; top:0; bottom:0; right:0; z-index:1; display:flex; align-items:center; justify-content:center;
  width:15px; height:15px; margin:auto 0; color:var(--black); pointer-events:none;
}
.sec-projects-title__search-icon svg{ display:block; width:15px; height:15px; overflow:hidden; }
/* "✕" clear button: appears once the field has a value (live: absolute, right 20px, padding 0 4px, opacity .6) */
.sec-projects-title__clear{
  position:absolute; top:0; bottom:0; right:20px; z-index:1; display:flex; align-items:center; justify-content:center;
  margin:auto 0; padding:0 4px; border:0; background:none; color:var(--black); opacity:.6; cursor:pointer;
  font-family:sans-serif; font-size:12px; line-height:normal; -webkit-appearance:none; appearance:none;
}
.sec-projects-title__clear[hidden]{ display:none; }

/* ---- breakpoints ---- */
/* 1200–1619 (the measured desktop): full-width container with 40px side padding, inner gap 40 */
@media (max-width:1619.98px){
  .sec-projects-title__cols{ left:0; max-width:none; padding:0 var(--page-pad); }
  .sec-projects-title__inner{ gap:40px; padding:0 var(--page-pad); }
  .sec-projects-title__tools{ max-width:none; padding:0 var(--page-pad); }
}
@media (min-width:1620px){
  .sec-projects-title__desc-line--desk{ display:none; }
  .sec-projects-title__desc-line--wide{ display:block; }
}
/* tablet 810–1199: 2 columns, spacer columns hidden, title/description full width */
@media (max-width:1199.98px){
  .sec-projects-title{ gap:100px; padding:150px 0 0; }
  .sec-projects-title__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-title__col:last-child{ display:none; }
  .sec-projects-title__inner{ gap:30px; }
  .sec-projects-title__row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-title__row--title,.sec-projects-title__row--sub{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-projects-title__spacer{ display:none; }
  .sec-projects-title__h{ grid-column:span 1; font-size:80px; line-height:.8; }
  .sec-projects-title__desc-line--desk{ display:none; }
  .sec-projects-title__desc-line--small{ display:block; }
  .sec-projects-title__tools{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-title__tools-spacer{ display:none; }
  .sec-projects-title__search{ padding:0 30px; }
}
/* phone <810: 1 column */
@media (max-width:809.98px){
  .sec-projects-title{ gap:70px; padding:150px 0 0; }
  .sec-projects-title__cols{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-projects-title__col:nth-child(2){ display:none; }
  .sec-projects-title__row,.sec-projects-title__tools{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-projects-title__h{ font-size:60px; }
  .sec-projects-title__tools{ height:auto; }
  .sec-projects-title__dropdown{ padding:0 20px; }
  .sec-projects-title__search-block{ display:none; }
}

/* ---- list / grid view toggle (middle column of the tools row) ---- */
.sec-projects-title__view{ position:relative; display:flex; align-items:center; justify-content:center; gap:1px; height:40px; }
.sec-projects-title__view-btn{
  display:flex; align-items:center; justify-content:center; width:56px; height:40px; padding:0; margin:0; border:0; border-radius:0;
  background:var(--grey-f2); color:var(--black-50); cursor:pointer; -webkit-appearance:none; appearance:none; transition:background .2s ease, color .2s ease;
}
.sec-projects-title__view-btn:hover{ color:var(--black); }
.sec-projects-title__view-btn.is-active{ background:var(--black); color:#fff; }
.sec-projects-title__view-btn:focus-visible{ outline:1px solid var(--black-40); outline-offset:-1px; }
@media (max-width:1199.98px){ .sec-projects-title__view{ grid-column:1 / -1; justify-content:flex-start; } }

/* ==== css/sections/22b-projects-grid.css ==== */
/* ==========================================================================
   22b — /projects "Portfolio" block: 9 full-viewport project cards over a sticky blurred, cross-fading background.
   Measured on neiden.framer.media/projects at 1440×900 (block top 708.8, height 8100 = 9 × 100vh, bg rgba(0,0,0,.9)).
   Same component as the home "Case studies" list (05-portfolio-a), re-measured for this page.
   ========================================================================== */
.sec-projects-grid{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:center;
  background:var(--black-90); color:var(--white);
  overflow:clip;
}

/* ---- sticky background: 9 stacked blurred layers (blur 10px, scale 1.2, 30% black shade; layer 1 also carries the grain) ---- */
.sec-projects-grid__bg{ position:absolute; top:0; left:0; width:100%; height:100%; overflow:clip; pointer-events:none; }
.sec-projects-grid__bg-sticky{ position:sticky; top:0; z-index:1; width:100%; height:100vh; overflow:clip; }
.sec-projects-grid__bg-layer{
  position:absolute; top:0; left:0; width:100%; height:100%; overflow:clip;
  opacity:0; will-change:opacity; /* layer 1 is always on; layers 2–9 fade in OVER the previous ones (spring 1s, bounce 0, driven in JS) once their slot reaches the viewport top */
}
.sec-projects-grid__bg-layer:first-child{ opacity:1; }
.sec-projects-grid__bg-img{
  position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; overflow:clip;
  transform:scale(1.2); /* pre-blurred 160px variants (assets/images/mask/blur): no runtime blur filter */
}
.sec-projects-grid__bg-img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-projects-grid__bg-shade{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; background:var(--black-30); }
.sec-projects-grid__grain{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; overflow:hidden; }
.sec-projects-grid__grain i{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; will-change:transform;
  animation:sec-projects-grid-grain 1.2s steps(1) infinite;
}
@keyframes sec-projects-grid-grain{
  0%{ transform:translate(9.25%,-9.25%); } 12.5%{ transform:translate(6.75%,-6.75%); } 25%{ transform:translate(-3.25%,3.25%); }
  37.5%{ transform:translate(-11%,11%); } 50%{ transform:translate(2.5%,-2.5%); } 62.5%{ transform:translate(12%,-12%); }
  75%{ transform:translate(-7.5%,7.5%); } 87.5%{ transform:translate(-1%,1%); } 100%{ transform:translate(9.25%,-9.25%); }
}

/* ---- slots: one per viewport height, with the 3-column hairline grid ---- */
.sec-projects-grid__list{ position:relative; width:100%; display:flex; flex-direction:column; align-items:flex-start; }
.sec-projects-grid__slot{
  position:relative; z-index:1; width:100%; height:100vh;
  display:flex; justify-content:center; align-items:center; gap:10px; overflow:clip;
}
.sec-projects-grid__lines{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
@media (min-width:1620px){ .sec-projects-grid__lines{ left:calc(50% - min(1550px,100%)/2); max-width:1550px; padding:0; } }
.sec-projects-grid__lines i{ display:block; height:100%; border-right:1px solid var(--line-dark); }
.sec-projects-grid__lines i:first-child{ border-left:1px solid var(--line-dark); }

.sec-projects-grid__item{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; justify-content:center; align-items:center; padding:0; overflow:clip;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-projects-grid__item{ max-width:none; padding:0 40px; } }
.sec-projects-grid__link{
  position:relative; z-index:3; display:flex; flex-direction:column; align-items:center;
  width:100%; max-width:100%; cursor:pointer; color:inherit; text-decoration:none;
}

/* meta row (01. / year / client) — 12px/12 500, 20px bottom padding → 32px */
.sec-projects-grid__meta{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:0 0 20px;
}
.sec-projects-grid__meta > div{ position:relative; z-index:3; display:flex; align-items:center; gap:5px; height:min-content; overflow:clip; }
.sec-projects-grid__lbl,.sec-projects-grid__val{
  display:inline-block; font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; white-space:pre;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* live presets 9enybc/4zq9bz/1x9173r all carry ss07 ("01." measures 14.7px, not 14.1) */
}
.sec-projects-grid__lbl{ color:var(--white-30); }
.sec-projects-grid__val{ color:var(--white); }

/* image: 65vh box, inner scale 1.1 → 1 on hover, parallax img (±150px) */
.sec-projects-grid__image{
  position:relative; width:100%; height:calc(100vh * .65);
  display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:clip;
}
.sec-projects-grid__image-scale{
  width:100%; height:100%; transform:scale(1.1); transform-origin:50% 50%;
  transition:transform .7s cubic-bezier(.8,.05,.3,.9); will-change:transform; /* live hover-in (logo opacity = same curve): .096@300ms .256@400 .686@500 .906@600 .995@800; un-hover starts ~80ms sooner */
}
.sec-projects-grid__link:hover .sec-projects-grid__image-scale{ transform:scale(1); transition-delay:.08s; }
.sec-projects-grid__image-zoom{ position:relative; width:100%; height:100%; transform-origin:50% 50%; }
.sec-projects-grid__image-clip{ position:relative; width:100%; height:100%; overflow:hidden; }
.sec-projects-grid__image-clip img{
  position:absolute; left:0; top:-150px; width:100%; height:calc(100% + 300px);
  object-fit:cover; object-position:center; will-change:transform;
}
.sec-projects-grid__shade{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; background:var(--black); opacity:0; }
/* client logo: 79×22 (aspect 3.59091), difference blend, appears on hover (opacity 0→1, scale 1.3→1, same curve as the image) */
.sec-projects-grid__logo{
  position:absolute; top:50%; left:50%; z-index:4; width:79px; height:auto; aspect-ratio:3.59091;
  mix-blend-mode:difference; opacity:0; transform:translate(-50%,-50%) scale(1.3); transform-origin:50% 50%;
  transition:transform .7s cubic-bezier(.8,.05,.3,.9), opacity .7s cubic-bezier(.8,.05,.3,.9); pointer-events:none;
}
.sec-projects-grid__logo svg{ display:block; width:100%; height:100%; }
.sec-projects-grid__link:hover .sec-projects-grid__logo{ opacity:1; transform:translate(-50%,-50%) scale(1); transition-delay:.08s; }

/* caption row (spacer / title / tags) — 20px vertical padding, row height = tallest column (22px spacer min) */
.sec-projects-grid__caption{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:20px 0;
}
.sec-projects-grid__cap-spacer{ min-height:22px; }
.sec-projects-grid__ttl-wrap{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; }
.sec-projects-grid__ttl{
  width:min-content; overflow:clip; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-projects-grid__ttl span{ display:inline-block; }
.sec-projects-grid__tags{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; height:100%; }
.sec-projects-grid__tags ul{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:min-content; }
.sec-projects-grid__tags li{
  display:block; width:min-content; /* words of a tag are separated by a literal space (2.7px), not a flex gap */
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; white-space:pre; color:var(--white-30);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-projects-grid__tags li span{ display:inline-block; }

/* ---- smaller breakpoints (kept sane, not pixel-matched; follow the live Tablet/Phone variants: 2 columns,
        no "01." cell, tags before the title, wrapping title) ---- */
@media (max-width:1199.98px){
  .sec-projects-grid__meta,.sec-projects-grid__caption{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-grid__meta > div:first-child,.sec-projects-grid__cap-spacer{ display:none; }
  .sec-projects-grid__tags{ order:1; }
  .sec-projects-grid__ttl-wrap{ order:2; }
  .sec-projects-grid__ttl{ width:auto; white-space:normal; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-projects-grid__lines{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-grid__item{ max-width:none; padding:0 40px; }
}
@media (max-width:809.98px){
  .sec-projects-grid__lines{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-projects-grid__slot{ height:auto; padding:70px 0; }
  .sec-projects-grid__item{ max-width:none; padding:0 20px; }
  .sec-projects-grid__image{ height:calc(100vh * .45); }
}

/* MASK projects: client logos are raster images */
.sec-projects-grid__logo{ width:120px; aspect-ratio:auto; height:40px; }
.sec-projects-grid__logo img{ display:block; width:100%; height:100%; object-fit:contain; }
/* client logos in true colours (no difference blend), size set per logo inline (+20% vs mask-agency.com) */
.sec-projects-grid__logo{ width:auto; height:auto; aspect-ratio:auto; mix-blend-mode:normal; }
.sec-projects-grid__logo img{ width:auto; }

/* category filter / search */
.sec-projects-grid__slot[hidden]{ display:none !important; }
.sec-projects-grid__empty{ width:100%; min-height:60vh; display:flex; align-items:center; justify-content:center; margin:0; color:#fff; font:500 18px/1.4 'DM Sans',sans-serif; position:relative; z-index:2; }
.sec-projects-grid__empty[hidden]{ display:none; }

/* performance: layers that cannot be seen are not painted (toggled by the grid script) */
.sec-projects-grid__bg-layer.is-off{ visibility:hidden; }
.sec-projects-grid__bg-layer.is-off .sec-projects-grid__grain i{ animation:none; }

/* phones: one meta cell per line, long sector names wrap instead of being cut */
@media (max-width:809.98px){
  .sec-projects-grid__meta{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
  .sec-projects-grid__meta > div:first-child{ display:none; }
  .sec-projects-grid__meta > div{ align-items:flex-start; max-width:100%; }
  .sec-projects-grid__val{ white-space:normal; }
}

/* touch screens have no hover: show the client logo permanently */
@media (hover:none), (pointer:coarse){
  .sec-projects-grid__logo{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}

/* touch screens: lighter scrolling
   - the sticky background is blurred at quarter resolution then scaled up (same look, ~16× less blur work per frame)
   - the grain overlay stays still instead of re-rendering the whole screen every 100ms
   - card images appear in place (the slide/zoom reveal looked like a jump during fast flings) */
@media (hover:none), (pointer:coarse){
  .sec-projects-grid__grain i{ animation:none; }
  .sec-projects-grid__image, .sec-projects-grid__image-zoom{ transform:none !important; opacity:1 !important; }
}

/* ===================== grid view (toggle in the title tools row): 3 cards per row, blog-list art direction ===================== */
.sec-projects-grid.is-grid{ background:#fff; color:var(--black); }
.sec-projects-grid.is-grid .sec-projects-grid__bg, .sec-projects-grid.is-grid .sec-projects-grid__lines, .sec-projects-grid.is-grid .sec-projects-grid__empty{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__empty[hidden]{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__empty:not([hidden]){ display:flex; color:var(--black); min-height:40vh; }
.sec-projects-grid.is-grid .sec-projects-grid__list{
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:min-content; gap:0; align-items:start;
  max-width:var(--container-max); margin:0 auto; padding:0 var(--page-pad) 100px;
}
.sec-projects-grid.is-grid .sec-projects-grid__slot{ position:relative; height:auto; min-height:0; padding:0; margin:0; width:auto; display:block; }
.sec-projects-grid.is-grid .sec-projects-grid__slot::after{ content:""; position:absolute; inset:0; border:1px solid var(--line-light); pointer-events:none; }
.sec-projects-grid.is-grid .sec-projects-grid__item{ position:static; width:100%; max-width:none; height:auto; padding:0; margin:0; transform:none; }
.sec-projects-grid.is-grid .sec-projects-grid__link{ display:flex; flex-direction:column; align-items:stretch; gap:0; width:100%; height:auto; color:var(--black); }
/* image on top, no parallax / reveal transforms */
.sec-projects-grid.is-grid .sec-projects-grid__image{ order:1; position:relative; width:100%; height:350px; margin:0; transform:none !important; opacity:1 !important; overflow:hidden; }
.sec-projects-grid.is-grid .sec-projects-grid__image-scale, .sec-projects-grid.is-grid .sec-projects-grid__image-zoom{ transform:none !important; opacity:1 !important; transition:transform .7s cubic-bezier(.8,.05,.3,.9); }
.sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__image-scale{ transform:scale(1.06) !important; }
.sec-projects-grid.is-grid .sec-projects-grid__image-clip img{ top:0; height:100%; transform:none !important; }
.sec-projects-grid.is-grid .sec-projects-grid__shade{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__logo{ display:none; }
/* card body: meta row (year · sector) + title + tags, on the grey box */
.sec-projects-grid.is-grid .sec-projects-grid__meta{
  order:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:10px; width:100%; height:auto; padding:30px 30px 0; background:var(--grey-f2);
}
.sec-projects-grid.is-grid .sec-projects-grid__meta > div:first-child, .sec-projects-grid.is-grid .sec-projects-grid__meta .sec-projects-grid__lbl{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__meta > div{ display:flex; align-items:center; gap:10px; overflow:visible; }
.sec-projects-grid.is-grid .sec-projects-grid__meta > div:nth-child(3)::before{ content:""; display:block; flex:none; width:4px; height:4px; border-radius:7px; background:var(--black-30); }
.sec-projects-grid.is-grid .sec-projects-grid__val{ color:var(--black); opacity:1 !important; transform:none !important; white-space:normal; }
.sec-projects-grid.is-grid .sec-projects-grid__meta > div:nth-child(2) .sec-projects-grid__val{ color:var(--black-50); }
.sec-projects-grid.is-grid .sec-projects-grid__caption{ order:3; position:static; display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:100%; height:auto; padding:20px 30px 40px; background:var(--grey-f2); }
.sec-projects-grid.is-grid .sec-projects-grid__cap-spacer{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__ttl-wrap{ order:1; width:100%; }
.sec-projects-grid.is-grid .sec-projects-grid__ttl{ width:100%; white-space:normal; font-size:16px; font-weight:700; line-height:1.3em; letter-spacing:-.05em; color:var(--black); text-transform:none; }
.sec-projects-grid.is-grid .sec-projects-grid__ttl span{ display:inline; opacity:1 !important; transform:none !important; }
.sec-projects-grid.is-grid .sec-projects-grid__tags{ order:2; width:100%; }
.sec-projects-grid.is-grid .sec-projects-grid__tags ul{ display:flex; flex-wrap:wrap; gap:6px 14px; }
.sec-projects-grid.is-grid .sec-projects-grid__tags li{ width:auto; color:var(--black-50); }
.sec-projects-grid.is-grid .sec-projects-grid__tags li span{ opacity:1 !important; transform:none !important; }
@media (min-width:810px) and (max-width:1199.98px){ .sec-projects-grid.is-grid .sec-projects-grid__list{ grid-template-columns:repeat(2,minmax(50px,1fr)); } }
@media (max-width:809.98px){ .sec-projects-grid.is-grid .sec-projects-grid__list{ grid-template-columns:minmax(50px,1fr); } .sec-projects-grid.is-grid .sec-projects-grid__image{ height:260px; } }
@media (max-width:809.98px){ .sec-projects-grid.is-grid .sec-projects-grid__meta{ flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 10px; padding:24px 20px 0; } .sec-projects-grid.is-grid .sec-projects-grid__caption{ padding:16px 20px 30px; } }

/* grid view · hover (pointer devices): the image box shrinks, the text rises and a one-line project description fades in */
.sec-projects-grid__desc{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__desc{
  display:block; order:3; width:100%; margin:0; max-height:0; opacity:0; filter:blur(4px); transform:translateY(6px); overflow:hidden;
  font-size:14px; font-weight:400; line-height:1.4em; letter-spacing:-.04em; color:var(--black-70);
  transition:max-height .57s cubic-bezier(.7,.1,.15,1), opacity .4s cubic-bezier(.7,.1,.15,1), filter .4s cubic-bezier(.7,.1,.15,1), transform .57s cubic-bezier(.7,.1,.15,1);
}
.sec-projects-grid.is-grid .sec-projects-grid__image{ transition:height .57s cubic-bezier(.7,.1,.15,1); }
@media (hover:hover) and (pointer:fine){
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__image{ height:300px; }
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__desc{ max-height:80px; opacity:1; filter:blur(0); transform:none; }
}
/* grid view · fixed card height: the hover only redistributes space (image shrinks, text rises, description appears),
   so neighbouring cards never move; vertical hairlines between columns like the article grid */
.sec-projects-grid.is-grid .sec-projects-grid__slot::after{ display:none; }
.sec-projects-grid.is-grid .sec-projects-grid__slot{ border-left:1px solid var(--line-light); border-top:1px solid var(--line-light); }
.sec-projects-grid.is-grid .sec-projects-grid__slot:nth-child(3n){ border-right:1px solid var(--line-light); }
.sec-projects-grid.is-grid .sec-projects-grid__list{ border-bottom:1px solid var(--line-light); }
.sec-projects-grid.is-grid .sec-projects-grid__link{ height:620px; overflow:hidden; }
.sec-projects-grid.is-grid .sec-projects-grid__image{ flex:none; }
.sec-projects-grid.is-grid .sec-projects-grid__meta, .sec-projects-grid.is-grid .sec-projects-grid__caption{ flex:none; }
.sec-projects-grid.is-grid .sec-projects-grid__caption{ flex:1 1 auto; }
@media (hover:hover) and (pointer:fine){
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__image{ height:280px; }
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__desc{ max-height:90px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-projects-grid.is-grid .sec-projects-grid__slot:nth-child(3n){ border-right:0; }
  .sec-projects-grid.is-grid .sec-projects-grid__slot:nth-child(2n){ border-right:1px solid var(--line-light); }
}
@media (max-width:809.98px){
  .sec-projects-grid.is-grid .sec-projects-grid__slot{ border-right:1px solid var(--line-light); }
  .sec-projects-grid.is-grid .sec-projects-grid__link{ height:auto; }
}
.sec-projects-grid.is-grid .sec-projects-grid__caption{ justify-content:flex-start; }
.sec-projects-grid.is-grid .sec-projects-grid__tags{ height:auto; flex:none; justify-content:flex-start; }
/* grid view · tighter grey body (≈ 40 % shorter): 350px image + 170px body; hover frees 80px for the description */
.sec-projects-grid.is-grid .sec-projects-grid__link{ height:520px; }
.sec-projects-grid.is-grid .sec-projects-grid__meta{ padding:24px 30px 0; }
.sec-projects-grid.is-grid .sec-projects-grid__caption{ padding:16px 30px 24px; gap:8px; }
.sec-projects-grid.is-grid .sec-projects-grid__desc{ transition-duration:.5s; }
@media (hover:hover) and (pointer:fine){
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__image{ height:270px; }
  .sec-projects-grid.is-grid .sec-projects-grid__link:hover .sec-projects-grid__desc{ max-height:72px; }
}

/* ==== css/sections/23-projects-faq.css ==== */
/* ==========================================================================
   23 — Projects page FAQ ("[ND® ‒ FAQ / 質問と理解]" — "Quick answers." + 6-item accordion with tags)
   Measured on neiden.framer.media/projects at 1440×900 (breakpoint 1200–1619).
   Section = 100 + content 980.6 + 150 = 1230.6px
   Content = flex row: sticky heading (1/3 = 453.3px, top:100px, gap 100, title padding-top 50) | accordion (2/3 = 906.7px)
   Accordion items: open 520.6px (40 + 32 + 30 + 89.6 + 30 + 259 + 40), closed 92px (30 + 32 + 30) × 5
   Differences from the home FAQ (15): section padding, heading gap, title padding, CTA title 18px/700, tags on 02 + 05
   ========================================================================== */
.sec-projects-faq{
  position:relative; z-index:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; padding:100px var(--page-pad) 150px;
  /* live: the FAQ is the last child of the page's nested "Section" wrapper, whose flex gap (10px) separates it from the
     contact form below (contact form top = 10049.4 = FAQ bottom 10039.4 + 10). Kept outside the section box as a margin. */
  margin:0 0 10px;
  background:var(--white); color:var(--black);
  font-family:var(--font-sans);
}

/* ---- hairline column grid (col 1: left + right, cols 2/3: right) ---- */
.sec-projects-faq__cols{
  position:absolute; inset:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%;
  padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
.sec-projects-faq__col{ position:relative; height:100%; overflow:clip; }
.sec-projects-faq__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-projects-faq__col--1::after{ border-left-width:1px; }

/* ---- content row ---- */
.sec-projects-faq__content{
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:row; align-items:flex-start; justify-content:center; gap:0;
}

/* ---- left: sticky heading ---- */
.sec-projects-faq__heading{
  position:sticky; top:100px; z-index:1;
  flex:1 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:100px;
  border-radius:10px;
}
.sec-projects-faq__intro{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; padding-top:50px; }

.sec-projects-faq__label-wrap{ position:relative; width:max-content; height:14px; }
.sec-projects-faq__label{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); cursor:pointer; text-decoration:none; }
.sec-projects-faq__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-projects-faq__icon-bar{ display:block; height:14px; flex:none; overflow:visible; }
.sec-projects-faq__label-text{ display:flex; align-items:flex-end; justify-content:center; gap:2px; height:14px; }
.sec-projects-faq__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-projects-faq__label-part--jp{ font-weight:500; color:var(--black-40); }

.sec-projects-faq__title{
  display:block; margin:0; white-space:pre; word-break:break-word;
  font-family:var(--font-sans); font-size:70px; font-weight:600; line-height:63px; letter-spacing:-.06em; color:var(--black);
}
.sec-projects-faq__title .split-word{ white-space:nowrap; display:inline-block; }
.sec-projects-faq__title .split-char{ display:inline-block; }

.sec-projects-faq__lead{ position:relative; width:max-content; max-width:100%; }
.sec-projects-faq__lead p{ white-space:pre; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

/* CTA block */
.sec-projects-faq__cta{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; }
.sec-projects-faq__cta-text{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; width:100%; }
.sec-projects-faq__cta-title{ white-space:pre; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.04em; color:var(--black); }
.sec-projects-faq__cta-sub{ white-space:pre; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left; }

/* black CTA button 300×60 (Framer "Default button": red on hover, letters slide, plus spins) */
.sec-projects-faq__btn-wrap{ position:relative; width:300px; height:60px; }
.sec-projects-faq__btn{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:300px; height:60px;
  background:var(--black); color:var(--white); cursor:pointer; overflow:clip; text-decoration:none;
  /* measured on the live button: variant switch = over-damped spring — fast on hover-in (≈0.35s), slower on hover-out (≈0.7s) */
  transition:background-color .7s cubic-bezier(.3,.3,.2,.9);
}
.sec-projects-faq__btn:hover{ background:var(--red); transition-duration:.35s; transition-timing-function:cubic-bezier(.2,.35,.1,.9); }
.sec-projects-faq__btn-txt{ position:relative; z-index:1; display:block; height:12px; overflow:clip; }
.sec-projects-faq__btn-line{
  display:block; height:12px; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  color:var(--white); white-space:pre;
}
.sec-projects-faq__btn-line--b{ position:absolute; left:0; top:0; }
/* Live text effect (measured): on hover every letter jumps 15px up out of the clip instantly, then drops back into place
   one letter at a time (≈0.15s ease-out, 30ms stagger); on hover-out they jump 15px below and rise back the same way.
   Copy "a" plays the hover-out entrance (from below), copy "b" the hover-in entrance (from above); the other copy jumps. */
.sec-projects-faq__btn-line .c{ display:inline-block; transition:transform .16s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0) * .03s); }
.sec-projects-faq__btn-line--b .c{ transform:translateY(-15px); transition:none; }
.sec-projects-faq__btn:hover .sec-projects-faq__btn-line--a .c{ transform:translateY(15px); transition:none; }
.sec-projects-faq__btn:hover .sec-projects-faq__btn-line--b .c{ transform:translateY(0); transition:transform .16s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i,0) * .03s); }
.sec-projects-faq__btn-icon{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; background:var(--white); pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  transition:transform .425s cubic-bezier(.3,.4,.2,.95); /* live: one spring both ways (15% @40ms, 65% @140ms, settled ≈0.45s) */
}
/* live: the plus spins counter-clockwise (−180°) */
.sec-projects-faq__btn:hover .sec-projects-faq__btn-icon{ transform:rotate(-180deg); }

/* ---- right: accordion ---- */
.sec-projects-faq__list{
  position:relative; z-index:1;
  flex:2 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--white); list-style:none; margin:0; padding:0;
}
.sec-projects-faq__list::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-right-width:1px; pointer-events:none; }

.sec-projects-faq__item{
  position:relative; z-index:1; width:100%; list-style:none;
  cursor:pointer; overflow:hidden;
}
.sec-projects-faq__item::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-bottom-width:1px; pointer-events:none; z-index:3; }
.sec-projects-faq__item-inner{
  position:relative; display:flex; flex-direction:row; align-items:flex-start; justify-content:center; gap:0;
  width:100%; padding:0 46px 0 30px; /* 30 + 16px icon column + 30 */
}
.sec-projects-faq__main{ position:relative; flex:1 0 0; width:1px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:30px 0; }
.sec-projects-faq__item.is-open .sec-projects-faq__main{ padding:40px 0; }

/* block = heading row + body: the unit Framer projects into place when a variant switches */
.sec-projects-faq__block{ position:relative; z-index:2; width:100%; transform-origin:50% 0; }
.sec-projects-faq__head.sec-projects-faq__head--ghost{ position:absolute; top:30px; left:30px; right:46px; width:auto; z-index:3; pointer-events:none; } /* live: heading z 1 above the content (z −1) */
/* opening: the live renders the dropping row in the "Active" variant's closed-heading style from the first frame (measured: question
   18px/500 lh 0.9em sentence-case in a 16.2px box, number h3 14px/500 lh 0.8em in a 10px-rounded 32×32 box, tag = 20px pill,
   DM Sans 12px lh 1.4em ls −.05em with a DM Sans 700 bold run) */
.sec-projects-faq__head--ghost-open .sec-projects-faq__q{ font-size:18px; font-weight:500; line-height:16.2px; letter-spacing:-.04em; text-transform:none; }
.sec-projects-faq__head--ghost-open .sec-projects-faq__num{ border-radius:10px; overflow:visible; }
.sec-projects-faq__head--ghost-open .sec-projects-faq__num-txt{ font-size:14px; font-weight:500; line-height:11.2px; letter-spacing:-.04em; }
.sec-projects-faq__head--ghost-open .sec-projects-faq__num-txt--b{ display:none; }
.sec-projects-faq__head--ghost-open .sec-projects-faq__tag{ border-radius:20px; font-weight:400; line-height:16.8px; letter-spacing:-.05em; }
.sec-projects-faq__head--ghost-open .sec-projects-faq__tag strong{ font-family:var(--font-sans); font-weight:700; }

/* heading row: number box + question + (empty) tag */
.sec-projects-faq__head{
  position:relative; z-index:1; display:flex; flex-direction:row; align-items:center; justify-content:space-between;
  width:100%; height:32px; padding:0 10px 0 0; margin:0; border:0; background:none; color:inherit; cursor:pointer; text-align:left; font:inherit;
}
.sec-projects-faq__num{
  position:relative; flex:none; display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; background:var(--black-05); overflow:clip;
}
.sec-projects-faq__num-txt{
  display:block; white-space:pre;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  /* live layout spring, rAF-measured from the hover (both ways, ≈45ms event latency excluded): 0.7% @13ms, 5.7% @63, 19% @113,
     51% @163, 80% @213, 93% @263, done ≈360ms → sampled linear() curve */
  transition:transform .36s linear(0, .007 3.6%, .057 17.5%, .19 31.4%, .507 45.3%, .8 59.2%, .927 73%, .98 86%, 1);
}
.sec-projects-faq__num-txt--b{ position:absolute; top:-20px; left:50%; transform:translate(-50%,0); }
/* Framer "hover" variant of the closed item: visible number drops to bottom:-20px, the duplicate comes in from top:-20px (both +30px) */
.sec-projects-faq__item:not(.is-open):hover .sec-projects-faq__num-txt--a{ transform:translateY(30px); }
.sec-projects-faq__item:not(.is-open):hover .sec-projects-faq__num-txt--b{ transform:translate(-50%,30px); }
.sec-projects-faq__q{
  flex:1 0 0; width:1px; min-width:0; margin-left:15px;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  white-space:pre-wrap; word-break:break-word;
}
/* tag pill (square corners): empty 30×12 box, or "Frequently asked" (black-05) / "Important" (red) — 12px/600 lh 13.2 ls -.06em, bold run in Inter 700 */
.sec-projects-faq__tag{
  position:relative; z-index:1; flex:none; display:flex; align-items:center; justify-content:center; gap:10px;
  width:max-content; min-width:30px; padding:6px 15px; overflow:hidden; /* empty tag = 30×12 box (padding only), like the live */
  font-size:12px; font-weight:600; line-height:13.2px; letter-spacing:-.06em; color:var(--black-90); white-space:pre; text-transform:none;
}
.sec-projects-faq__tag-txt{ display:block; white-space:pre; }
.sec-projects-faq__tag strong{ display:inline; font-family:var(--font-inter); font-weight:700; } /* live: the bold run is Inter 700 inside a DM Sans line (line box 14.2px) */
.sec-projects-faq__tag--grey{ background:var(--black-05); }
.sec-projects-faq__tag--red{ background:var(--red); color:var(--white); }

/* body (answer + media) */
.sec-projects-faq__body{ display:none; width:100%; padding-top:30px; }
.sec-projects-faq__item.is-open .sec-projects-faq__body{ display:block; }
.sec-projects-faq__answer{
  width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70); text-align:left;
  white-space:pre-wrap; word-break:break-word;
}
.sec-projects-faq__media{ position:relative; display:flex; flex-direction:row; align-items:center; justify-content:center; gap:0; width:100%; margin-top:30px; overflow:hidden; }
.sec-projects-faq__img{ position:relative; flex:1 0 0; width:1px; height:259px; overflow:hidden; }
.sec-projects-faq__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-projects-faq__corner{
  position:absolute; top:-1px; left:-1px; z-index:2; width:63px; height:63px; pointer-events:none;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'><path d='M 0 0 L 63 63 L 63 0 Z' fill='white'/></svg>") 0 0/100% 100% no-repeat;
  transform:rotate(-90deg); transform-origin:50% 50%;
}

/* toggle icon (+ → × when open): 16×16 at right:30px; y = 38 closed (centred in 92) / 40 open */
.sec-projects-faq__toggle{ position:absolute; top:38px; right:30px; z-index:2; display:flex; align-items:center; justify-content:center; width:16px; height:16px; overflow:hidden;
  transition:top .4s cubic-bezier(.22,1,.36,1), transform .36s linear(0, .007 3.6%, .057 17.5%, .19 31.4%, .507 45.3%, .8 59.2%, .927 73%, .98 86%, 1); }
/* QA (rAF-measured on the live): hovering a CLOSED item spins the whole 16px icon container +180° (clockwise: 1.5° @60ms, 16° @127,
   68° @193, 130° @242, 162° @293, 180° @≈400) on the same hover spring as the number slide, and back (−180°) on mouse-out.
   Clicking the hovered item open un-spins it on the accordion's open spring — driven by Motion in 23-projects-faq.js (inline
   transform, transition:none) so it shares the height's clock; closing while hovered re-spins it on the hover curve above. */
.sec-projects-faq__item:not(.is-open):hover .sec-projects-faq__toggle{ transform:rotate(180deg); }
.sec-projects-faq__item.is-open .sec-projects-faq__toggle{ top:40px; }
/* live: the + rotates to × on a pure exponential (τ≈250ms, 1° @22ms, 13° @105ms, 24° @205ms, 36° @404ms), starting at the click
   together with the height spring, and back the same way → one transition both ways */
.sec-projects-faq__plus{ display:block; width:16px; height:16px; color:var(--black); transform:rotate(0deg); transition:transform 1.46s cubic-bezier(.16,.96,.36,.98) .03s; } /* QA: live's × → + starts ≈30ms after the click (39° @66ms vs the clone's 39° @34ms) */
.sec-projects-faq__plus svg{ display:block; width:16px; height:16px; overflow:hidden; }
.sec-projects-faq__item.is-open .sec-projects-faq__plus{ transform:rotate(45deg); transition-delay:0s; }
.sec-projects-faq.is-static .sec-projects-faq__toggle, .sec-projects-faq.is-static .sec-projects-faq__plus, .sec-projects-faq.is-static .sec-projects-faq__num-txt, .sec-projects-faq.is-static .sec-projects-faq__btn, .sec-projects-faq.is-static .sec-projects-faq__btn-icon, .sec-projects-faq.is-static .sec-projects-faq__btn-line .c{ transition:none; }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-projects-faq{ padding:200px 0; }
  .sec-projects-faq__content{ max-width:var(--container-max); margin:0 auto; }
  .sec-projects-faq__cols{ right:auto; left:50%; width:100%; max-width:var(--container-max); transform:translateX(-50%); padding:0; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-projects-faq{ padding:100px 40px; }
  .sec-projects-faq__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-projects-faq__col--3{ display:none; }
  .sec-projects-faq__content{ flex-direction:column; gap:50px; }
  .sec-projects-faq__heading{ position:relative; top:auto; flex:none; flex-direction:row; gap:0; width:100%; }
  .sec-projects-faq__intro{ flex:1 0 0; width:1px; }
  .sec-projects-faq__cta{ flex:1 0 0; width:1px; }
  .sec-projects-faq__list{ flex:none; width:100%; }
  .sec-projects-faq__list::after{ border-left-width:1px; }
  .sec-projects-faq__cta-text{ gap:0; }
}
@media (max-width:809.98px){
  .sec-projects-faq{ padding:50px 20px 100px; }
  .sec-projects-faq__cols{ grid-template-columns:1fr; padding:0 20px; }
  .sec-projects-faq__col--2,.sec-projects-faq__col--3{ display:none; }
  .sec-projects-faq__content{ flex-direction:column; gap:70px; }
  .sec-projects-faq__heading{ position:relative; top:auto; flex:none; gap:50px; width:100%; }
  .sec-projects-faq__list{ flex:none; width:100%; }
  .sec-projects-faq__list::after{ border-left-width:1px; }
  .sec-projects-faq__title{ font-size:50px; line-height:45px; }
  .sec-projects-faq__lead p,.sec-projects-faq__cta-sub{ white-space:pre-wrap; }
  .sec-projects-faq__btn-wrap,.sec-projects-faq__btn{ width:100%; }
  .sec-projects-faq__item-inner{ padding:0 20px; }
  .sec-projects-faq__toggle{ right:20px; }
  .sec-projects-faq__media{ flex-direction:column; align-items:flex-start; }
  .sec-projects-faq__img{ flex:none; width:100%; height:150px; }
  .sec-projects-faq__cta-text{ gap:0; }
}

/* ==== css/sections/24-blog-list.css ==== */
/* ==========================================================================
   24 — Blog index ("Blog Insights" title + 7 post cards)  2396px @1440
   Measured from neiden.framer.media/blog (dom.json):
   Title (white, z2): padding-top 300, label (14) + 40 + h2 100/.8 (80) + 40 + desc 2×22.4, then 150px gap,
   "All categories" / "Search on site" row 40px → 708.8. Content (z2, grey rgba(0,0,0,.05)): padding 100/40,
   grid 3 cols (453.3) with 1px top rule: featured 1360×500 (image span 2, content col 3, padding 40/40/60),
   then 6 cards 453.3×493.6 (image 350 + content 30/30/40). Hairline columns behind everything.
   ========================================================================== */
.sec-blog-list{
  --bl-ease: cubic-bezier(.7,.1,.15,1);   /* hover-in curve fitted on live rAF samples (layout + fades together, 0.57s, max err <0.01) */
  --bl-dur: .57s;
  --bl-fade: .57s;
  --bl-ease-out: cubic-bezier(.7,.1,.15,1); /* hover-out: same curve, 0.55-0.60s on the live site */
  --bl-dur-out: .57s;
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--black-05); color:var(--black); font-family:var(--font-sans);
  overflow:hidden;
}

/* ---- hairline columns (section-wide + inside the white title block) ---- */
.sec-blog-list__cols{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%; max-width:var(--container-max); padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center; overflow:clip; pointer-events:none;
}
@media (min-width:1620px){ .sec-blog-list__cols{ left:calc(50% - var(--container-max)/2); padding:0; } }
.sec-blog-list__col{ position:relative; height:100%; overflow:clip; }
.sec-blog-list__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-blog-list__col--1::after{ border-left-width:1px; }

/* ---- Title block ---- */
.sec-blog-list__title{
  position:relative; z-index:2; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:150px;
  padding:300px 0 0; background:var(--white); overflow:clip;
}
.sec-blog-list__tinner{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:0 var(--page-pad);
}
.sec-blog-list__row{ position:relative; width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); gap:0; }
.sec-blog-list__spacer{ position:relative; min-height:14px; overflow:clip; }

.sec-blog-list__counter{ display:flex; align-items:center; gap:10px; width:100%; min-width:0; }
.sec-blog-list__tag{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); }
.sec-blog-list__icons{ display:flex; align-items:center; flex:none; width:40px; height:14px; color:var(--red); }
.sec-blog-list__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-blog-list__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-blog-list__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-blog-list__label-part--btn{ cursor:pointer; }
.sec-blog-list__label-part--jp{ font-weight:500; color:var(--black-40); }

.sec-blog-list__htext{ grid-column:2 / span 2; min-width:0; display:flex; flex-direction:column; justify-content:flex-start; }
.sec-blog-list__h2{ width:100%; white-space:pre-wrap; word-break:break-word; color:var(--black); }
.sec-blog-list__word{ display:inline-block; }

.sec-blog-list__desc{ grid-column:2; min-width:0; display:flex; flex-direction:column; justify-content:flex-start; width:100%; }
.sec-blog-list__desc p{ width:100%; white-space:pre; text-align:left; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); }

/* categories + search row */
.sec-blog-list__tools{
  position:relative; z-index:1; width:100%; max-width:var(--container-max); height:40px; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); gap:0; overflow:clip;
}
.sec-blog-list__sorter{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:40px; background:var(--grey-f2); }
.sec-blog-list__sorter-btn{
  display:flex; align-items:center; justify-content:space-between; width:100%; height:40px; padding:0 30px 0 40px;
  background:var(--grey-f2); color:var(--black); cursor:pointer; text-align:left;
}
.sec-blog-list__sorter-label{ display:block; white-space:pre; color:var(--black); }
.sec-blog-list__chevron{ display:block; flex:none; width:22px; height:22px; color:var(--black); }
.sec-blog-list__spacer--tools{ min-height:0; height:25px; align-self:start; }
.sec-blog-list__search{ position:relative; display:flex; align-items:center; justify-content:space-between; width:100%; height:40px; padding:0 30px; }
.sec-blog-list__search-in{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:40px; margin:0; }
.sec-blog-list__search-input{
  display:block; width:100%; height:100%; padding:0 28px 0 0; margin:0; outline:none; border:0; border-radius:0;
  background:var(--white); color:var(--black);
  font-family:var(--font-sans); font-size:12px; font-weight:600; letter-spacing:-.02em; line-height:normal;
}
.sec-blog-list__search-input::placeholder{ color:var(--black); opacity:1; }
.sec-blog-list__search-ico{ position:absolute; top:0; bottom:0; right:0; z-index:1; display:flex; align-items:center; justify-content:center; width:15px; height:15px; margin:auto 0; color:var(--black); pointer-events:none; }
.sec-blog-list__search-ico svg{ display:block; width:15px; height:15px; }
/* "✕" clear button: appears once the field has a value (live: absolute, right 20px, padding 0 4px, opacity .6, 12px sans-serif) */
.sec-blog-list__search-clear{
  position:absolute; top:0; bottom:0; right:20px; z-index:1; display:flex; align-items:center; justify-content:center;
  margin:auto 0; padding:0 4px; border:0; background:none; color:var(--black); opacity:.6; cursor:pointer;
  font-family:sans-serif; font-size:12px; line-height:normal; -webkit-appearance:none; appearance:none;
}
.sec-blog-list__search-clear[hidden]{ display:none; }

/* ---- category panel (anchored between the title block and the content, above both: z 11).
   Live: fades in (~.2s ease-out, sampled 0.08→1 on the panel root) flush under the trigger, or flush ABOVE it (bottom edge on the
   trigger top, y 416.8 at scroll 0) when 252px do not fit below in the viewport — the JS toggles .is-up; the shadow always points down. ---- */
.sec-blog-list__menu-anchor{ position:relative; z-index:11; width:100%; max-width:var(--container-max); height:0; overflow:visible; }
.sec-blog-list__menu{
  position:absolute; top:0; left:var(--page-pad); z-index:11; display:none; flex-direction:column; gap:0;
  width:517px; max-width:calc(100% - 2*var(--page-pad)); margin:0; padding:0;
  background:var(--white); box-shadow:rgba(0,0,0,.05) 0 10px 20px 0; overflow:clip;
}
.sec-blog-list.is-open .sec-blog-list__menu{ display:flex; animation:sec-blog-list-fade .2s ease-out both; }
@keyframes sec-blog-list-fade{ from{ opacity:0; } to{ opacity:1; } }
.sec-blog-list__menu.is-up{ top:auto; bottom:40px; }
.sec-blog-list__menu-group{ display:flex; flex-direction:column; gap:0; }
.sec-blog-list__menu-item{
  display:block; width:100%; height:36px; margin:0; padding:10px 20px; border:0; border-radius:0;
  background:var(--white); color:var(--black); cursor:pointer; user-select:none; white-space:nowrap; text-align:start;
  font-family:var(--font-sans); font-size:12px; font-weight:600; font-style:normal; line-height:normal; letter-spacing:normal; text-transform:uppercase;
  font-feature-settings:normal; transition:background .2s; -webkit-appearance:none; appearance:none;
}
.sec-blog-list__menu-item:hover{ background:var(--grey-f2); }
.sec-blog-list__menu-item:focus-visible{ outline:1px solid var(--black-40); outline-offset:-1px; }
.sec-blog-list__sorter-btn:focus-visible{ outline:1px solid var(--black-40); outline-offset:-1px; }

/* ---- Content ---- */
.sec-blog-list__content{
  position:relative; z-index:2; width:100%; max-width:var(--container-max);
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:100px var(--page-pad);
}
.sec-blog-list__grid{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:min-content; justify-content:center; gap:0;
}
.sec-blog-list__grid::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; pointer-events:none; }

/* ---- Card (link) ---- */
.sec-blog-list__card{
  position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:30px;
  width:100%; min-width:0; color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-blog-list__card--featured{ grid-column:span 3; align-items:flex-start; align-content:flex-start; justify-self:center; gap:0; }
/* category list of the CMS item: sits behind the image on the live site (z-index -1), never visible */
.sec-blog-list__tags{ position:absolute; top:0; left:0; z-index:-1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; visibility:hidden; pointer-events:none; }
.sec-blog-list__tags li{ white-space:pre; font-size:16px; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); }

.sec-blog-list__post{ position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; width:100%; overflow:hidden; }
.sec-blog-list__media{ position:relative; display:flex; align-items:flex-start; justify-content:flex-start; gap:10px; width:100%; }
.sec-blog-list__imgbox{
  position:relative; z-index:2; flex:1 0 0; min-width:0; height:350px; overflow:hidden;
  display:flex; align-items:flex-start; justify-content:center;
  transition:height var(--bl-dur-out) var(--bl-ease-out);
}
.sec-blog-list__img{ position:absolute; z-index:1; top:calc(50% - 175px); left:0; width:100%; height:350px; overflow:hidden; }
.sec-blog-list__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }

.sec-blog-list__body{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  width:100%; padding:30px 30px 40px; border-radius:10px; overflow:hidden;
}
.sec-blog-list__inner{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; }
/* meta row is absolutely placed (like the hover variant) and the 32px it occupies is padding that collapses on hover */
.sec-blog-list__main{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; width:100%; padding-top:32px;
  transition:padding-top var(--bl-dur-out) var(--bl-ease-out);
}
.sec-blog-list__meta{
  position:absolute; top:0; left:0; z-index:1; display:flex; align-items:center; gap:10px; width:100%; height:12px;
  transition:top var(--bl-dur-out) var(--bl-ease-out), opacity var(--bl-dur-out) var(--bl-ease-out);
}
.sec-blog-list__date,.sec-blog-list__read{
  white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-blog-list__date{ color:var(--black-50); }
.sec-blog-list__read{ color:var(--black); }
.sec-blog-list__dot{ display:block; flex:none; width:4px; height:4px; border-radius:7px; background:var(--black-30); }
.sec-blog-list__ttl{ display:flex; align-items:flex-start; gap:10px; width:70%; overflow:hidden; }
.sec-blog-list__ttl p{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; width:100%; overflow:clip;
  white-space:pre-line; word-break:break-word; overflow-wrap:break-word;
  font-size:16px; font-weight:700; line-height:1.3em; letter-spacing:-.05em; color:var(--black);
}
.sec-blog-list__more-wrap{ display:grid; grid-template-rows:0fr; width:100%; padding-top:0; transition:grid-template-rows var(--bl-dur-out) var(--bl-ease-out), padding-top var(--bl-dur-out) var(--bl-ease-out); }
.sec-blog-list__more{
  position:relative; z-index:0; display:flex; flex-direction:column; align-items:center; gap:30px; width:100%; min-height:0;
  opacity:0; filter:blur(8px);
  transition:opacity var(--bl-dur-out) var(--bl-ease-out), filter var(--bl-dur-out) var(--bl-ease-out);
}
.sec-blog-list__excerpt{ display:flex; flex-direction:column; align-items:flex-start; gap:70px; width:100%; overflow:hidden; }
.sec-blog-list__excerpt p{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; width:100%; overflow:clip;
  white-space:pre-line; word-break:break-word; overflow-wrap:break-word; text-align:left;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70);
}
.sec-blog-list__author{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-blog-list__by{ display:flex; align-items:center; gap:10px; }
.sec-blog-list__avatar{ position:relative; flex:none; width:40px; height:40px; aspect-ratio:1; border-radius:25px; overflow:hidden; }
.sec-blog-list__avatar img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-blog-list__who{ display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; }
.sec-blog-list__kind{ display:flex; align-items:center; justify-content:center; gap:3px; }
.sec-blog-list__kind p{ white-space:pre; font-size:14px; font-weight:400; line-height:1.5em; letter-spacing:-.04em; color:var(--black); }
.sec-blog-list__kind-dim{ color:var(--black-50) !important; }
.sec-blog-list__name{
  white-space:pre; font-size:14px; font-weight:600; line-height:1.4em; letter-spacing:-.04em; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* hover (small cards): image box collapses to 247px, meta fades out while sliding 20px above the title (no blur on the live site),
   excerpt + author fade/unblur in; every property runs on the same curve with no delay (measured on live rAF samples) */
.sec-blog-list__card:not(.sec-blog-list__card--featured):hover .sec-blog-list__imgbox{ height:247px; transition:height var(--bl-dur) var(--bl-ease); }
.sec-blog-list__card:not(.sec-blog-list__card--featured):hover .sec-blog-list__main{ padding-top:0; transition:padding-top var(--bl-dur) var(--bl-ease); }
.sec-blog-list__card:not(.sec-blog-list__card--featured):hover .sec-blog-list__meta{
  top:-20px; opacity:0;
  transition:top var(--bl-dur) var(--bl-ease), opacity var(--bl-fade) var(--bl-ease);
}
.sec-blog-list__card:not(.sec-blog-list__card--featured):hover .sec-blog-list__more-wrap{ grid-template-rows:1fr; padding-top:20px; transition:grid-template-rows var(--bl-dur) var(--bl-ease), padding-top var(--bl-dur) var(--bl-ease); }
.sec-blog-list__card:not(.sec-blog-list__card--featured):hover .sec-blog-list__more{
  z-index:1; opacity:1; filter:blur(0);
  transition:opacity var(--bl-fade) var(--bl-ease), filter var(--bl-fade) var(--bl-ease);
}
/* filtered out by the category panel / search */
.sec-blog-list__card[hidden]{ display:none; }

/* ---- Featured card (image spans 2 columns, content in column 3, everything visible, no hover change) ---- */
.sec-blog-list__card--featured .sec-blog-list__post{
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr);
  justify-content:center; align-items:stretch; width:100%; height:500px; overflow:hidden;
}
.sec-blog-list__card--featured .sec-blog-list__media{ grid-column:span 2; align-self:start; align-items:center; justify-content:center; gap:0; height:500px; overflow:hidden; }
.sec-blog-list__card--featured .sec-blog-list__imgbox{ height:100%; transition:none; }
.sec-blog-list__card--featured .sec-blog-list__img{ top:0; bottom:0; height:auto; }
/* featured hover: the image scales to 1.1 (measured: 1 → 1.1 in ~0.6s, same curve as the small-card hover) */
.sec-blog-list__card--featured .sec-blog-list__img img{ transition:transform var(--bl-dur-out) var(--bl-ease-out); will-change:transform; }
.sec-blog-list__card--featured:hover .sec-blog-list__img img{ transform:scale(1.1); transition:transform var(--bl-dur) var(--bl-ease); }
.sec-blog-list__card--featured .sec-blog-list__body{ flex-direction:row; align-self:start; height:100%; padding:40px 40px 60px; }
.sec-blog-list__card--featured .sec-blog-list__inner{ justify-content:space-between; height:100%; }
.sec-blog-list__card--featured .sec-blog-list__main{ gap:20px; padding-top:0; transition:none; }
.sec-blog-list__card--featured .sec-blog-list__meta{ position:relative; transition:none; }
.sec-blog-list__card--featured .sec-blog-list__ttl{ width:100%; }
.sec-blog-list__card--featured .sec-blog-list__ttl p{ font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-.04em; }
.sec-blog-list__card--featured .sec-blog-list__more-wrap{ display:block; padding-top:0; transition:none; }
.sec-blog-list__card--featured .sec-blog-list__more{ z-index:1; align-items:flex-start; justify-content:flex-start; opacity:1; filter:none; transition:none; }
.sec-blog-list__card--featured .sec-blog-list__excerpt p{ display:block; white-space:pre-wrap; -webkit-line-clamp:unset; }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-blog-list__tinner,.sec-blog-list__tools{ padding:0; }
  .sec-blog-list__menu{ left:0; max-width:100%; }
  .sec-blog-list__content{ padding:100px 0 0; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-blog-list__title{ gap:100px; padding:150px 0 0; }
  .sec-blog-list__tinner{ gap:30px; }
  .sec-blog-list__row,.sec-blog-list__tools,.sec-blog-list__grid,.sec-blog-list__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-blog-list__col:nth-child(3),.sec-blog-list__spacer--tools{ display:none; }
  .sec-blog-list__htext{ grid-column:2; }
  .sec-blog-list__desc{ grid-column:2; }
  .sec-blog-list__search{ padding:0 30px; }
  .sec-blog-list__content{ padding:100px var(--page-pad) 50px; }
  .sec-blog-list__card--featured{ grid-column:span 2; }
  .sec-blog-list__card--featured .sec-blog-list__post{ display:flex; flex-direction:column; height:auto; }
  .sec-blog-list__card--featured .sec-blog-list__media{ height:400px; }
  .sec-blog-list__card--featured .sec-blog-list__body{ height:auto; }
}
@media (max-width:809.98px){
  .sec-blog-list__title{ gap:70px; padding:150px 0 0; }
  .sec-blog-list__tinner{ gap:30px; }
  .sec-blog-list__row{ display:flex; flex-direction:column; }
  .sec-blog-list__spacer{ display:none; }
  .sec-blog-list__h2{ font-size:60px; white-space:pre; }
  .sec-blog-list__desc p{ white-space:pre-wrap; }
  .sec-blog-list__tools{ display:flex; align-items:center; }
  .sec-blog-list__search,.sec-blog-list__spacer--tools{ display:none; }
  .sec-blog-list__sorter-btn{ padding:0 20px; }
  .sec-blog-list__cols,.sec-blog-list__grid{ grid-template-columns:minmax(50px,1fr); }
  .sec-blog-list__col:nth-child(2),.sec-blog-list__col:nth-child(3){ display:none; }
  .sec-blog-list__content{ padding:100px var(--page-pad) 50px; }
  .sec-blog-list__card--featured{ grid-column:span 1; }
  .sec-blog-list__card--featured .sec-blog-list__post{ display:flex; flex-direction:column; height:auto; }
  .sec-blog-list__card--featured .sec-blog-list__media{ height:250px; }
  .sec-blog-list__card--featured .sec-blog-list__body{ height:auto; padding:20px 20px 50px; }
}

/* ==== css/sections/25-career-title.css ==== */
/* ==========================================================================
   25 — Career page: Title block ("[ ND® ‒ CAREER / 採用情報 ]" · "Careers at Neiden" · subtitle · "5 open vacancies")
   Measured on neiden.framer.media/career at 1440×900 (breakpoint 1200–1619).
   Section = 300px top padding + title wrapper (14 + 40 + 80 + 40 + 44.8 = 218.8) + 150px gap + 40px badge = 708.8px
   ========================================================================== */
.sec-career-title{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; padding:300px 0 0; gap:150px;
  background:var(--white); color:var(--black);
  overflow:clip;
  font-family:var(--font-sans);
}

/* ---- hairline column grid (absolute, full height) ---- */
.sec-career-title__cols{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  overflow:clip; pointer-events:none;
}
.sec-career-title__col{ position:relative; height:100%; border:0 solid var(--line-light); border-right-width:1px; }
.sec-career-title__col--1{ border-left-width:1px; }

/* ---- Title wrapper ---- */
.sec-career-title__wrap{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; gap:40px;
  width:100%; padding:0 var(--page-pad);
}
.sec-career-title__row{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
}
.sec-career-title__spacer{ position:relative; display:flex; align-items:center; justify-content:center; min-height:14px; overflow:clip; align-self:start; }

/* counter label */
.sec-career-title__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; align-self:start; }
.sec-career-title__counter-inner{ position:relative; display:flex; align-items:center; gap:15px; width:max-content; height:14px; }
.sec-career-title__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-career-title__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-career-title__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-career-title__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-career-title__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-career-title__label-part--ptr{ cursor:pointer; } /* live: cursor:pointer, no hover state, no link */

/* big title (h2, 100px/0.8, -0.08em) — spans columns 2–3, words revealed one by one */
.sec-career-title__title{
  grid-column:span 2; align-self:start;
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:100px; font-weight:600; line-height:.8em; letter-spacing:-.08em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-career-title__word{ display:inline-block; will-change:transform,opacity; }

/* subtitle (16px/1.4, -0.05em, 70% black) — column 2 only at 1200–1619 */
.sec-career-title__sub{ position:relative; width:100%; align-self:start; }
.sec-career-title__sub-line{
  display:block; margin:0; white-space:pre;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; text-align:left; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-career-title__sub-line--wide,.sec-career-title__sub-line--narrow{ display:none; }

/* ---- Badge row ---- */
.sec-career-title__badge-row{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
  padding:0 var(--page-pad); overflow:clip;
}
.sec-career-title__badge{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:40px; align-self:start; background:var(--grey-f2);
}
.sec-career-title__badge-text{
  position:relative; z-index:1; white-space:pre; margin:0;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-career-title__wrap{ max-width:var(--container-max); padding:0; gap:50px; }
  .sec-career-title__cols,.sec-career-title__badge-row{ padding:0; }
  .sec-career-title__cols{ left:50%; transform:translateX(-50%); }
  .sec-career-title__sub{ grid-column:span 2; word-break:break-word; } /* pre-wrap only on the visible <p> (container newlines must not render) */
  .sec-career-title__sub-line--desktop,.sec-career-title__sub-line--narrow{ display:none; }
  .sec-career-title__sub-line--wide{ display:block; white-space:pre-wrap; }
  .sec-career-title__title{ font-size:130px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-career-title{ gap:100px; padding:150px var(--page-pad) 0; }
  .sec-career-title__wrap{ gap:30px; padding:0; }
  .sec-career-title__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-career-title__col:nth-child(3){ display:none; }
  .sec-career-title__row,.sec-career-title__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-career-title__badge-row{ padding:0; }
  .sec-career-title__spacer{ display:none; } /* live: column-1 spacers hidden on tablet + phone → content starts in column 1 */
  .sec-career-title__title{ font-size:80px; }
  .sec-career-title__sub-line{ font-size:15px; } /* live preset: 15px at 810–1199 */
  .sec-career-title__sub{ grid-column:span 2; word-break:break-word; } /* pre-wrap only on the visible <p> (container newlines must not render) */
  .sec-career-title__sub-line--desktop,.sec-career-title__sub-line--narrow{ display:none; }
  .sec-career-title__sub-line--wide{ display:block; white-space:pre-wrap; }
}
@media (max-width:809.98px){
  .sec-career-title{ gap:70px; padding:150px var(--page-pad) 0; }
  .sec-career-title__wrap{ gap:30px; padding:0; }
  .sec-career-title__cols{ grid-template-columns:1fr; }
  .sec-career-title__col:nth-child(2),.sec-career-title__col:nth-child(3){ display:none; }
  .sec-career-title__row,.sec-career-title__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-career-title__badge-row{ grid-template-columns:1fr; padding:0; }
  .sec-career-title__spacer{ display:none; }
  .sec-career-title__title{ grid-column:span 2; font-size:60px; }
  .sec-career-title__sub-line{ font-size:15px; } /* live preset: 15px below 810 */
  .sec-career-title__sub{ grid-column:span 2; word-break:break-word; } /* pre-wrap only on the visible <p> (container newlines must not render) */
  .sec-career-title__sub-line--desktop,.sec-career-title__sub-line--wide{ display:none; }
  .sec-career-title__sub-line--narrow{ display:block; white-space:pre-wrap; }
}

/* ==== css/sections/26-career-jobs.css ==== */
/* ==========================================================================
   26 — Career page: "Career" section ("[ ND® ‒ STEPS / 構想から公開へ ]" · "Current Openings" · 4 open positions)
   Measured on neiden.framer.media/career at 1440×900 (breakpoint 1200–1619).
   Section = 150 top padding + 4 rows × 440 (= 1760) + 150 bottom padding = 2060px, bg rgba(0,0,0,.05)
   Grid: 3 columns (453.33px) — column 1 = sticky heading block (top:150px), columns 2–3 = job rows
   Row = 2-column grid: media cell 460px tall (overlaps/clipped by the next row → 440 visible) | text cell padding 40
   ========================================================================== */
.sec-career-jobs{
  position:relative; z-index:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  width:100%; padding:0 var(--page-pad);
  background:var(--black-05); color:var(--black);
  font-family:var(--font-sans);
}

/* ---- hairline column grid (absolute, full height; col 1: left + right lines, cols 2/3: right line) ---- */
.sec-career-jobs__cols{
  position:absolute; top:0; left:calc(50% - min(var(--container-max),100%) / 2); z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  overflow:clip; pointer-events:none;
}
.sec-career-jobs__col{ position:relative; height:100%; border:0 solid var(--line-light); border-right-width:1px; }
.sec-career-jobs__col--1{ border-left-width:1px; }

/* ---- content grid ---- */
.sec-career-jobs__grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:repeat(1,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; gap:0;
  width:100%; max-width:var(--container-max); padding:150px 0;
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-career-jobs__grid{ max-width:none; } }

/* ---- Heading block (column 1) ---- */
.sec-career-jobs__head{
  position:relative; place-self:start; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; align-content:center; gap:10px;
  overflow:clip;
}
.sec-career-jobs__sticky{
  position:sticky; top:150px; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px;
  width:100%;
}

/* counter label: 5 red bars (40×14) + [ ND® ‒ STEPS / 構想から公開へ ] (14px/14 600 −.04em; jp 500 40% black) */
.sec-career-jobs__label{ position:relative; display:flex; align-items:center; gap:15px; width:max-content; height:14px; will-change:transform,opacity; }
.sec-career-jobs__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-career-jobs__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-career-jobs__label-text{ display:flex; align-items:flex-end; justify-content:center; gap:2px; height:14px; }
.sec-career-jobs__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-career-jobs__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-career-jobs__label-part--ptr{ cursor:pointer; } /* live: cursor:pointer, no hover state, no link */

/* title h3 70px/63px 600 −.06em — two words revealed one after the other (y 20 → 0, spring .6s, delay 1.2 / 1.4) */
.sec-career-jobs__title{
  position:relative; width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:70px; font-weight:600; line-height:63px; letter-spacing:-.06em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-career-jobs__word{ display:inline-block; will-change:transform,opacity; }
.sec-career-jobs__ch{ display:inline-block; } /* live: every letter is its own inline-block (no kerning) */

/* subtitle 16px/22.4 400 −.05em 70% black (y 30 → 0, spring 1s, delay 1.3) */
.sec-career-jobs__sub{ position:relative; width:100%; will-change:transform,opacity; }
.sec-career-jobs__sub-text{
  margin:0; white-space:pre-wrap; word-break:break-word; text-align:left;
  font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}

/* ---- Career items (columns 2–3) ---- */
.sec-career-jobs__list{
  position:relative; grid-column:span 2; place-self:start;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0;
  width:100%; overflow:clip;
}
.sec-career-jobs__item{ position:relative; width:100%; height:440px; }
.sec-career-jobs__card{
  position:relative; width:100%; height:100%;
  display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:repeat(1,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; gap:0;
}
/* 1px top + bottom rules (Framer data-border ::after) */
.sec-career-jobs__card::after{
  content:""; position:absolute; top:0; left:0; width:100%; height:100%;
  border:0 solid var(--line-light); border-top-width:1px; border-bottom-width:1px;
  box-sizing:border-box; pointer-events:none;
}

/* media cell: 460px tall, clipped; image/video scale 1.7 → 1 on enter (1.5s), 20% black shade, animated grain */
.sec-career-jobs__media{ position:relative; place-self:start; width:100%; height:460px; padding:0 40px; overflow:clip; }
.sec-career-jobs__img,.sec-career-jobs__video{
  position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; overflow:clip; will-change:transform;
}
.sec-career-jobs__img img,.sec-career-jobs__video video{ display:block; width:100%; height:100%; object-fit:cover; }
.sec-career-jobs__shade{ position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; background:var(--black-20); overflow:clip; pointer-events:none; }
.sec-career-jobs__grain{ position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; overflow:hidden; pointer-events:none; }
.sec-career-jobs__grain i{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; will-change:transform;
  animation:sec-career-jobs-grain .6s steps(1) infinite; /* live: the grain jumps to a random offset (±10%) every ~60ms, scale 1.2 */
}
@keyframes sec-career-jobs-grain{
  0%{ transform:translate(9%,-9.1%) scale(1.2); } 12.5%{ transform:translate(6%,-6.1%) scale(1.2); } 25%{ transform:translate(-1.25%,1.25%) scale(1.2); }
  37.5%{ transform:translate(-8.75%,8.9%) scale(1.2); } 50%{ transform:translate(2%,-2%) scale(1.2); } 62.5%{ transform:translate(9.5%,-9.6%) scale(1.2); }
  75%{ transform:translate(-6.25%,6.35%) scale(1.2); } 87.5%{ transform:translate(-4%,4.05%) scale(1.2); } 100%{ transform:translate(9%,-9.1%) scale(1.2); }
}
/* cut corner (row 1 only): 63×63 triangle in the section grey */
.sec-career-jobs__corner{ position:absolute; top:0; left:0; z-index:2; display:flex; align-items:center; justify-content:center; width:63px; height:63px; overflow:clip; pointer-events:none; }
.sec-career-jobs__corner svg{ display:block; width:63px; height:63px; }

/* text cell */
.sec-career-jobs__body{
  position:relative; place-self:start; width:100%; height:100%; padding:40px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;
}
.sec-career-jobs__info{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; }
.sec-career-jobs__meta{ position:relative; display:flex; align-items:center; justify-content:center; gap:3px; width:max-content; height:14px; overflow:clip; will-change:transform,opacity; }
.sec-career-jobs__num{ display:flex; align-items:center; justify-content:center; gap:3px; width:max-content; }
.sec-career-jobs__num-part,.sec-career-jobs__jp{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-career-jobs__jp{ font-weight:500; color:var(--black-40); }
.sec-career-jobs__text{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; width:100%; }
.sec-career-jobs__role{
  position:relative; width:100%; margin:0; white-space:pre-wrap; word-break:break-word; will-change:transform,opacity;
  font-size:20px; font-weight:700; line-height:22px; letter-spacing:-.07em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-career-jobs__desc{
  position:relative; width:100%; margin:0; white-space:pre-wrap; word-break:break-word; text-align:left; will-change:transform,opacity;
  font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.05em; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-career-jobs__foot{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; width:100%; }
.sec-career-jobs__loc{
  position:relative; width:100%; margin:0; white-space:pre-wrap; word-break:break-word; will-change:transform,opacity;
  font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* "Apply for role" — Framer "Default button" (60px link clipped to a 40px slot, white → red on hover) */
.sec-career-jobs__btn-wrap{ position:relative; display:flex; align-items:center; width:100%; height:40px; overflow:clip; will-change:transform,opacity; }
.sec-career-jobs__btn{
  position:relative; flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:60px; background:var(--white); color:var(--black); cursor:pointer; text-decoration:none; overflow:visible;
  /* measured on the live button (rAF-sampled, bezier fitted rms<.006): hover-in white→red .575s, hover-out red→white .425s */
  transition:background-color .425s cubic-bezier(.2,.975,.525,.975);
}
.sec-career-jobs__btn:hover{ background:var(--red); transition:background-color .575s cubic-bezier(.35,.65,.325,.975); }
.sec-career-jobs__btn-txt{ position:relative; z-index:1; display:block; height:12px; overflow:clip; }
.sec-career-jobs__btn-line{
  display:block; height:12px; white-space:pre;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-career-jobs__btn-line--b{ position:absolute; left:0; top:0; color:var(--white); visibility:hidden; }
/* Live (measured): the variant swap replaces the black text with a white copy whose letters drop in from −15px
   (80ms per letter, 70% done after 16ms, 30ms stagger); on hover-out the black copy comes back rising from +15px the same way. */
.sec-career-jobs__btn-line .c{ display:inline-block; transition:transform .08s cubic-bezier(.275,.925,.05,.8); transition-delay:calc(var(--i,0) * .03s); }
.sec-career-jobs__btn-line--b .c{ transform:translateY(-15px); transition:none; }
.sec-career-jobs__btn:hover .sec-career-jobs__btn-line--a{ visibility:hidden; }
.sec-career-jobs__btn:hover .sec-career-jobs__btn-line--a .c{ transform:translateY(15px); transition:none; }
.sec-career-jobs__btn:hover .sec-career-jobs__btn-line--b{ visibility:visible; }
.sec-career-jobs__btn:hover .sec-career-jobs__btn-line--b .c{ transform:translateY(0); transition:transform .08s cubic-bezier(.275,.925,.05,.8); transition-delay:calc(var(--i,0) * .03s); }
/* plus icon 20×20 (mask), black → white and spins −180° on hover (measured: rotation .475s both ways, colour .4s in / .7s out) */
.sec-career-jobs__btn-icon{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; background:var(--black); pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/></svg>") no-repeat center/100% 100%;
  transition:transform .475s cubic-bezier(.275,.6,.25,1), background-color .7s cubic-bezier(.225,.35,.225,.95);
}
.sec-career-jobs__btn:hover .sec-career-jobs__btn-icon{ transform:rotate(-180deg); background:var(--white); transition:transform .475s cubic-bezier(.275,.6,.25,1), background-color .4s cubic-bezier(.1,.975,.65,.975); }

/* ---- "EST. 2019" (bottom centre of the section) ---- */
.sec-career-jobs__est{
  position:absolute; bottom:30px; left:50%; z-index:1; transform:translateX(-50%); margin:0; white-space:pre;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-career-jobs__est-l{ color:var(--black-50); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-career-jobs{ padding:0; }
  .sec-career-jobs__cols{ padding:0; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-career-jobs__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-career-jobs__col:nth-child(3){ display:none; }
  .sec-career-jobs__grid{ display:flex; flex-direction:column; align-items:center; gap:50px; padding:100px 0; }
  .sec-career-jobs__head{ height:auto; }
  .sec-career-jobs__sticky{ position:relative; top:auto; gap:30px; }
  .sec-career-jobs__item{ height:auto; }
  .sec-career-jobs__card{ grid-template-columns:repeat(1,minmax(50px,1fr)); grid-template-rows:repeat(1,min-content); grid-auto-rows:min-content; }
  .sec-career-jobs__media{ height:270px; }
  .sec-career-jobs__body{ height:auto; justify-content:center; gap:50px; padding:30px; }
}
@media (max-width:809.98px){
  .sec-career-jobs__cols{ grid-template-columns:1fr; }
  .sec-career-jobs__col:nth-child(2),.sec-career-jobs__col:nth-child(3){ display:none; }
  .sec-career-jobs__grid{ display:flex; flex-direction:column; align-items:center; gap:50px; padding:100px 0; }
  .sec-career-jobs__head{ height:auto; }
  .sec-career-jobs__sticky{ position:relative; top:auto; gap:20px; }
  .sec-career-jobs__title{ font-size:50px; line-height:45px; }
  .sec-career-jobs__item{ height:auto; }
  .sec-career-jobs__card{ grid-template-columns:repeat(1,minmax(50px,1fr)); grid-template-rows:repeat(1,min-content); grid-auto-rows:min-content; }
  .sec-career-jobs__media{ height:270px; }
  .sec-career-jobs__body{ height:auto; justify-content:center; gap:50px; padding:30px; }
}

/* ==== css/sections/27-career-timeline.css ==== */
/* ==========================================================================
   27 — Career page: Timeline ("The Hiring Process") — measured on neiden.framer.media/career
   at 1440×900 (1200–1619 breakpoint). Dark (#191919) section, 3-column lined grid;
   column 1 = heading block (label / 70px title / lead + quote), columns 2–3 = sticky
   photo card (413×300, top:150) + 4 hiring steps (315.6px each) with a light (#f2f2f2)
   progress line that grows 25% per step as its scroll anchor passes the viewport centre.
   Section = 150px top padding + 4 × 315.625 = 1412.5px.
   ========================================================================== */
.sec-career-timeline{
  position:relative; display:flex; justify-content:center; align-items:center; gap:10px;
  width:100%; padding:0 var(--page-pad); background:var(--grey-19); color:var(--white);
  font-family:var(--font-sans); overflow:clip;
}
.sec-career-timeline__inner{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  grid-template-rows:repeat(1,minmax(0,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; gap:0;
  width:100%; max-width:var(--container-max); padding:150px 0 0; overflow:clip;
}

/* ---- lined grid ---- */
.sec-career-timeline__grid{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); gap:0;
  width:100%; max-width:1550px; height:100%; overflow:clip; pointer-events:none;
}
.sec-career-timeline__col{ height:100%; border-right:1px solid var(--line-dark); }
.sec-career-timeline__col--first{ border-left:1px solid var(--line-dark); }

/* ---- heading block (column 1): title (14 + 30 + 126 + 30 + 44.8) + 150 gap + quote (35 + 40 + 93.6 + 40 + 60.2) ---- */
.sec-career-timeline__heading{
  position:relative; z-index:1; grid-column:1; place-self:start;
  display:flex; flex-direction:column; align-items:flex-start; gap:150px; width:100%;
}
.sec-career-timeline__title{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }

/* label "[ ND® ‒ TIMELINE / 歩みの記録 ]" */
.sec-career-timeline__label{ display:flex; align-items:center; gap:15px; height:14px; }
.sec-career-timeline__label-icons{ display:flex; align-items:center; height:14px; }
.sec-career-timeline__label-icons svg{ display:block; height:14px; flex:none; overflow:visible; }
.sec-career-timeline__label-icons path{ fill:var(--red); }
.sec-career-timeline__label-text{
  display:flex; align-items:flex-end; gap:2px;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.56px; text-transform:uppercase; white-space:pre; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* presets 16x0xso / 1x9173r / 1l3oc22 */
}
.sec-career-timeline__label-link{ cursor:pointer; } /* live: plain <p> texts with cursor:pointer, no anchors */
.sec-career-timeline__label-jp{ font-weight:500; color:var(--white-30); }

/* "The Hiring / Process" — preset 1bpv0zn: 70px / 63px / -4.2px, 600 */
.sec-career-timeline__h2{
  width:100%; font-size:70px; font-weight:600; line-height:63px; letter-spacing:-4.2px;
  color:var(--white); white-space:pre-wrap;
}
.sec-career-timeline__tline{ display:inline-block; } /* title lines: one reveal per line (letters of a line move together on the live site) */
.sec-career-timeline__word{ white-space:nowrap; }
.sec-career-timeline__ch{ display:inline-block; will-change:transform; } /* live split-text letters: separate composited inline-block spans → glyph origins snap to whole pixels ("Hiring" starts at 165.2px: rendered at 165; measured pixel-identical only with this structure) */
.sec-career-timeline__lead{ font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.8px; color:var(--white-30); white-space:pre; }

/* quote */
.sec-career-timeline__quote{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; width:100%; }
.sec-career-timeline__qsym{ display:flex; justify-content:center; align-items:center; gap:10px; height:35px; padding:0 0 0 80px; }
.sec-career-timeline__qsym svg{ display:block; width:44px; height:35px; overflow:visible; }
.sec-career-timeline__qtext{
  width:81%; margin:0; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.72px;
  color:var(--white); white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
}
.sec-career-timeline__author{ position:relative; z-index:1; display:flex; align-items:center; gap:20px; overflow:hidden; }
.sec-career-timeline__avatar{ position:relative; flex:none; width:60px; height:60px; border-radius:60px; overflow:hidden; }
.sec-career-timeline__avatar img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-career-timeline__author-text{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.sec-career-timeline__author-name{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.56px; color:var(--white); white-space:pre; font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; }
.sec-career-timeline__author-role{ display:flex; align-items:center; gap:3px; font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.56px; color:var(--white-50); white-space:pre; }

/* ---- timeline content (columns 2–3) ---- */
.sec-career-timeline__content{
  position:relative; z-index:1; grid-column:span 2; place-self:start;
  display:flex; justify-content:center; align-items:center; gap:10px; width:100%; overflow:clip;
}
.sec-career-timeline__anchor{ position:absolute; left:0; z-index:-1; width:100%; height:100px; overflow:clip; pointer-events:none; }
.sec-career-timeline__anchor[data-anchor="1"]{ top:0; }
.sec-career-timeline__anchor[data-anchor="2"]{ top:340px; }
.sec-career-timeline__anchor[data-anchor="3"]{ top:680px; }
.sec-career-timeline__anchor[data-anchor="4"]{ top:1020px; }

.sec-career-timeline__big{
  position:relative; flex:1 0 0; width:1px; display:grid; grid-template-columns:repeat(2,minmax(50px,1fr));
  grid-template-rows:repeat(1,min-content); grid-auto-rows:min-content; justify-content:center; gap:0; overflow:clip;
}

/* sticky photo card */
.sec-career-timeline__photo-col{
  position:relative; z-index:2; place-self:start; display:flex; align-items:flex-start;
  width:100%; max-width:1550px; height:100%; padding:0 40px 0 0; overflow:clip;
}
.sec-career-timeline__sticky{ position:sticky; top:150px; width:100%; max-width:100%; }
.sec-career-timeline__photos{ position:relative; display:flex; align-items:center; gap:10px; width:100%; }
.sec-career-timeline__photo{
  position:absolute; top:0; left:0; z-index:1; width:380px; max-width:100%; aspect-ratio:1.26667;
  overflow:clip; opacity:0; will-change:opacity;
}
.sec-career-timeline__photo:first-child{ position:relative; }
.sec-career-timeline__photo.is-on{ opacity:1; }
.sec-career-timeline__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
/* 63×63 corner cut (dark triangle, rotated -90° like the original) */
.sec-career-timeline__photo::after{
  content:""; position:absolute; top:0; left:0; width:63px; height:63px;
  background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 63 63%22 overflow=%22visible%22><path d=%22M 0 0 L 63 63 L 63 0 Z%22 fill=%22rgb(25, 25, 25)%22></path></svg>") 0 0 / 100% 100% no-repeat;
  transform:rotate(-90deg);
}

/* hiring steps */
.sec-career-timeline__list{
  position:relative; z-index:2; place-self:start; display:flex; flex-direction:column; align-items:flex-start;
  gap:0; width:100%; max-width:1550px;
}
.sec-career-timeline__line{ position:absolute; top:0; left:-1px; z-index:1; width:2px; height:1px; background:var(--grey-f2); overflow:clip; }
.sec-career-timeline__item{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:40px;
  width:100%; padding:0 40px 150px;
}
.sec-career-timeline__dot{ position:absolute; top:0; left:-4px; z-index:1; display:block; width:8px; height:8px; background:var(--grey-f2); }
.sec-career-timeline__date-row{ position:relative; z-index:1; display:flex; align-items:center; gap:10px; overflow:clip; }
.sec-career-timeline__date{
  font-size:14px; font-weight:500; line-height:14px; letter-spacing:-.56px; text-transform:uppercase; white-space:pre;
  color:var(--white-20); font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; /* preset 1l3oc22 */
}
.sec-career-timeline__body{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:20px; width:100%; overflow:clip; }
.sec-career-timeline__h3{
  width:100%; font-size:18px; font-weight:700; line-height:23.4px; letter-spacing:-.72px;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; color:var(--white-20);
}
.sec-career-timeline__desc{
  width:100%; font-size:16px; font-weight:400; line-height:22.4px; letter-spacing:-.8px; text-align:left;
  white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; color:var(--white-20);
}
/* active step (variant "Active": white / white / white 50%) — colours switch instantly on the live site */
.sec-career-timeline__item.is-active .sec-career-timeline__date,
.sec-career-timeline__item.is-active .sec-career-timeline__h3{ color:var(--white); }
.sec-career-timeline__item.is-active .sec-career-timeline__desc{ color:var(--white-50); }

/* ---- responsive (secondary) ---- */
@media (max-width:1199.98px){
  .sec-career-timeline__inner{ display:flex; flex-direction:column; align-items:center; gap:100px; padding:100px 0 0; }
  .sec-career-timeline__grid{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-career-timeline__col:last-child{ display:none; }
  .sec-career-timeline__heading{ flex-direction:row; gap:0; }
  .sec-career-timeline__title,.sec-career-timeline__quote{ flex:1 0 0; width:1px; gap:30px; }
  .sec-career-timeline__qtext{ width:100%; }
  .sec-career-timeline__qsym svg{ width:38px; height:30px; }
  .sec-career-timeline__anchor[data-anchor="2"]{ top:320px; }
  .sec-career-timeline__anchor[data-anchor="3"]{ top:640px; }
  .sec-career-timeline__anchor[data-anchor="4"]{ top:980px; }
}
@media (max-width:809.98px){
  .sec-career-timeline{ flex-direction:column; }
  .sec-career-timeline__inner{ overflow:visible; }
  .sec-career-timeline__grid{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-career-timeline__col:nth-child(2){ display:none; }
  .sec-career-timeline__heading{ flex-direction:column; gap:40px; }
  .sec-career-timeline__title,.sec-career-timeline__quote{ flex:none; width:100%; gap:20px; }
  .sec-career-timeline__h2{ font-size:50px; line-height:45px; letter-spacing:-3px; }
  .sec-career-timeline__content{ overflow:visible; }
  .sec-career-timeline__big{ grid-template-columns:repeat(1,minmax(50px,1fr)); overflow:visible; }
  .sec-career-timeline__photo-col{ height:auto; padding:0 0 40px; }
  .sec-career-timeline__sticky{ position:relative; top:auto; }
  .sec-career-timeline__item{ padding:0 20px 100px; }
  .sec-career-timeline__anchor[data-anchor="2"]{ top:350px; }
  .sec-career-timeline__anchor[data-anchor="3"]{ top:680px; }
  .sec-career-timeline__anchor[data-anchor="4"]{ top:1010px; }
}

/* ==== css/sections/29-contacts-page.css ==== */
/* ==========================================================================
   29 — Contacts page: "Start With A Conversation" (video hero + form), 0 → 1107px at 1440×900
   Measured on neiden.framer.media/contacts (breakpoint 1200–1619):
   section = 44 (header) + Title block 1063.02 = padding 200 + head 218.8 + gap 50 + form 444.2 + padding 150
   ========================================================================== */
.sec-contacts-page{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  width:100%; padding:var(--header-h) 0 0;
  background:var(--black-05); color:var(--black); font-family:var(--font-sans);
}

/* No flash before the runtime applies the entrance states (live: SSR ships opacity 0 / translateY inline; main.js adds html.js before revealing) */
html:not(.js) .sec-contacts-page [data-reveal]{ opacity:0; }
html:not(.js) .sec-contacts-page__video-zoom{ transform:scale(1.5); }

/* ---- Title block (white, clipped; everything absolute lives inside it) ---- */
.sec-contacts-page__title{
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:50px;
  width:100%; padding:200px 0 150px; background:var(--white); overflow:clip;
}

/* video: 110% tall, anchored to the bottom (top = -10%), z 0 */
.sec-contacts-page__video-wrap{ position:absolute; left:0; bottom:0; z-index:0; width:100%; height:110%; will-change:transform; }
.sec-contacts-page__video-zoom{ width:100%; height:100%; will-change:transform; }
.sec-contacts-page__video{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; background:transparent; }

/* black mask + grain (z 1) */
.sec-contacts-page__mask{ position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; background:#0f0f0f; opacity:.7; overflow:clip; pointer-events:none; }
.sec-contacts-page__grain{ position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; overflow:hidden; pointer-events:none; }
.sec-contacts-page__grain-tile{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; transform:translate(-7.75%,7.75%) scale(1.2); will-change:transform; backface-visibility:hidden;
}

/* hairline columns (z 1) */
.sec-contacts-page__cols{
  position:absolute; top:0; left:0; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  width:100%; height:100%; padding:0 var(--page-pad); overflow:clip; pointer-events:none;
}
.sec-contacts-page__col{ position:relative; height:100%; border:0 solid var(--line-dark); border-right-width:1px; }
.sec-contacts-page__col--1{ border-left-width:1px; }

/* ---- Head: counter / title / subtitle (z 2) ---- */
.sec-contacts-page__head{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:40px; width:100%; padding:0 var(--page-pad); }
.sec-contacts-page__row{ position:relative; width:100%; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; }
.sec-contacts-page__spacer{ position:relative; display:flex; align-items:center; justify-content:center; min-height:14px; overflow:clip; align-self:start; }

.sec-contacts-page__counter{ position:relative; grid-column:span 2; display:flex; align-items:center; gap:10px; width:100%; height:14px; align-self:start; }
.sec-contacts-page__counter-box{ position:relative; display:flex; align-items:center; gap:15px; width:max-content; height:14px; }
.sec-contacts-page__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-contacts-page__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-contacts-page__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-contacts-page__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-contacts-page__label-part--jp{ font-weight:500; color:var(--white-50); }
.sec-contacts-page__label-part--ptr{ cursor:pointer; } /* live: cursor pointer, no hover state, no link */

.sec-contacts-page__h2{
  grid-column:1 / -1; align-self:start; width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  color:var(--white); font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-contacts-page__word{ display:inline-block; will-change:transform,opacity; }

.sec-contacts-page__sub{ position:relative; width:100%; align-self:start; }
.sec-contacts-page__sub-line{ display:block; margin:0; white-space:pre; color:var(--white); text-align:left; font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on; }

/* ---- Form block (z 1): 3 columns, form in columns 2–3 ---- */
.sec-contacts-page__form-block{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; width:100%; padding:0 var(--page-pad); }
.sec-contacts-page__spacer--1px{ min-height:0; height:1px; }
.sec-contacts-page__form{ position:relative; grid-column:span 2; align-self:start; display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; margin:0; overflow:hidden; }
.sec-contacts-page__fields{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; width:100%; }
.sec-contacts-page__top{ display:flex; align-items:center; width:100%; }
.sec-contacts-page__top .sec-contacts-page__field{ flex:1 0 0; width:1px; }
.sec-contacts-page__field{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:100%; cursor:text; }
.sec-contacts-page__field-head{ display:flex; justify-content:flex-end; align-items:center; width:100%; height:12px; overflow:hidden; }
.sec-contacts-page__field-label{ display:block; white-space:pre; color:var(--white); }
.sec-contacts-page__corner{ position:absolute; top:22px; right:0; z-index:3; width:12px; height:12px; color:var(--red); overflow:clip; pointer-events:none; }
.sec-contacts-page__corner svg{ display:block; width:12px; height:12px; overflow:visible; }

.sec-contacts-page__input-wrap{ position:relative; display:flex; align-items:center; width:100%; height:60px; padding:20px; overflow:hidden; background:transparent; }
.sec-contacts-page__input-wrap::after{
  content:""; position:absolute; top:0; left:0; width:100%; height:100%; box-sizing:border-box; pointer-events:none;
  border:1px solid var(--line-dark);
  transition:border-color .5s cubic-bezier(.44,0,.56,1);
}
.sec-contacts-page__input-wrap--phone::after{ border-left-width:0; transition-duration:.6s; } /* live: PHONE has no left border and a .6s focus transition */
.sec-contacts-page__input-wrap:focus-within::after,.sec-contacts-page__input-wrap.is-invalid::after{ border-color:var(--red); }
.sec-contacts-page__input{
  flex:1; width:auto; min-width:0; height:20px; padding:0; margin:0; border:0; outline:none; background:transparent; border-radius:0;
  font-family:var(--font-sans); font-size:14px; font-weight:500; line-height:1.2; letter-spacing:-.04em; color:var(--white);
  text-overflow:ellipsis; white-space:nowrap; overflow:hidden; appearance:none; -webkit-appearance:none;
}
.sec-contacts-page__input::placeholder{ color:var(--white-50); opacity:1; }
.sec-contacts-page__input:-webkit-autofill{ -webkit-text-fill-color:#fff; -webkit-box-shadow:0 0 0 100px #262626 inset; }
.sec-contacts-page__input-wrap--area{ height:auto; min-height:100px; padding:0; }
.sec-contacts-page__textarea{
  display:block; width:100%; height:100px; min-height:100px; padding:20px; resize:vertical; overflow-y:auto; white-space:break-spaces; text-overflow:clip;
}
.sec-contacts-page__textarea::-webkit-resizer{
  background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%2214%22><path d=%22m1.5 8 7-7M9 5.5l-3 3%22 stroke=%22%23999%22 stroke-width=%221.5%22 stroke-linecap=%22round%22></path></svg>") no-repeat;
}

/* submit row: [button + agreement] | [working times] */
.sec-contacts-page__submit{ display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; width:100%; }
.sec-contacts-page__btn-block{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; width:100%; align-self:start; }
.sec-contacts-page__btn{
  position:relative; display:flex; justify-content:space-between; align-items:center; width:100%; height:60px; padding:0; margin:0;
  border:0; border-radius:0; background:transparent; cursor:pointer; overflow:clip; text-align:center; -webkit-appearance:none; appearance:none;
}
.sec-contacts-page__btn-in{
  position:relative; display:flex; flex:1 0 0; width:1px; height:60px; flex-direction:column; justify-content:center; align-items:center; gap:10px;
  background:var(--white);
} /* hover: white → red (sqrt-mixed like Framer Motion), spring .6s — driven by JS */
.sec-contacts-page__btn-txt{ position:relative; z-index:1; display:block; height:12px; overflow:clip; white-space:pre; color:var(--black); pointer-events:none; user-select:none; }
.sec-contacts-page__btn-txt--2{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:var(--white); visibility:hidden; }
.sec-contacts-page__btn:hover .sec-contacts-page__btn-txt--1{ visibility:hidden; }
.sec-contacts-page__btn:hover .sec-contacts-page__btn-txt--2{ visibility:visible; }
.sec-contacts-page__btn-w{ white-space:nowrap; }
.sec-contacts-page__btn-txt i{ display:inline-block; font-style:normal; will-change:transform; } /* letter slides are JS springs (.12s, .03s stagger) */
.sec-contacts-page__btn-plus{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; color:var(--black); pointer-events:none; overflow:visible; will-change:transform;
} /* hover: rotate(-180deg) + black → white, spring .6s — driven by JS */
.sec-contacts-page__agree{ width:100%; margin:0; font-size:13px; font-weight:500; line-height:1.4em; letter-spacing:-.04em; color:var(--white-30); white-space:pre-wrap; word-break:break-word; }
.sec-contacts-page__agree a{ color:var(--white); transition:color .4s cubic-bezier(.44,0,.56,1); }
.sec-contacts-page__agree a:hover{ color:var(--red); }

.sec-contacts-page__hours{ display:flex; align-items:flex-start; gap:7px; width:100%; padding:10px 50px 0; align-self:start; }
.sec-contacts-page__hours-in{ display:flex; flex:1 0 0; width:1px; flex-direction:column; align-items:flex-start; gap:10px; }
.sec-contacts-page__hours-title{ margin:0; white-space:pre; color:var(--white); }
.sec-contacts-page__hours-txt{ margin:0; white-space:pre; color:var(--white); }
.sec-contacts-page__dim{ color:var(--white-30); }

/* success state */
.sec-contacts-page__thanks[hidden]{ display:none; }
.sec-contacts-page__thanks{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:12px; width:100%; min-height:200px; padding:20px; border:1px solid var(--line-dark); color:var(--white); }
.sec-contacts-page__thanks-title{ margin:0; font-size:30px; font-weight:500; line-height:1; letter-spacing:-.04em; }
.sec-contacts-page__thanks-txt{ margin:0; color:var(--white-70); }
.sec-contacts-page__form.is-sent .sec-contacts-page__fields{ display:none; }

/* ---- Badge row (absolute, bottom of the block, column 1) ---- */
.sec-contacts-page__badge-row{
  position:absolute; bottom:0; left:50%; transform:translateX(-50%); z-index:1;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center;
  width:100%; padding:0 var(--page-pad); overflow:clip; pointer-events:none; user-select:none;
}
.sec-contacts-page__badge{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; width:100%; height:40px; background:var(--grey-f2); align-self:start; }
.sec-contacts-page__badge-spacer{ height:25px; align-self:start; }
.sec-contacts-page__badge-spacer--2{ padding-left:30px; }
.sec-contacts-page__left{ display:flex; align-items:center; gap:10px; height:12px; }
.sec-contacts-page__left-txt{ display:flex; align-items:center; gap:3px; }
.sec-contacts-page__left-num{ display:flex; align-items:center; gap:4px; }
.sec-contacts-page__left-p{ position:relative; z-index:1; margin:0; white-space:pre; color:var(--black); }
.sec-contacts-page__dim-b{ color:var(--black-40); }
.sec-contacts-page__bars{ display:flex; align-items:center; gap:3px; height:12px; overflow:clip; }
.sec-contacts-page__bar{ display:block; flex:none; width:3px; height:12px; background:var(--black-10); overflow:clip; }
.sec-contacts-page__bar--red{ background:var(--red); }
.sec-contacts-page__bar--blink{ background:var(--red); } /* JS cycles it rgba(0,0,0,.1) ↔ red every 2s */

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-contacts-page__head{ max-width:var(--container-max); padding:0; gap:50px; }
  .sec-contacts-page__cols,.sec-contacts-page__form-block,.sec-contacts-page__badge-row{ max-width:var(--container-max); padding:0; }
  .sec-contacts-page__cols{ left:50%; transform:translateX(-50%); }
  .sec-contacts-page__h2{ font-size:130px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-contacts-page__title{ padding:200px var(--page-pad) 150px; }
  .sec-contacts-page__head{ padding:0; }
  .sec-contacts-page__row,.sec-contacts-page__cols,.sec-contacts-page__form-block,.sec-contacts-page__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-contacts-page__col:nth-child(3),.sec-contacts-page__spacer,.sec-contacts-page__badge-spacer:nth-child(3){ display:none; }
  .sec-contacts-page__form-block,.sec-contacts-page__badge-row{ padding:0; }
  .sec-contacts-page__counter,.sec-contacts-page__sub{ grid-column:1 / -1; }
  .sec-contacts-page__sub-line{ white-space:pre-wrap; }
  .sec-contacts-page__h2{ font-size:80px; }
  .sec-contacts-page__form{ grid-column:1 / -1; }
  .sec-contacts-page__top{ flex-direction:column; align-items:flex-start; gap:20px; }
  .sec-contacts-page__top .sec-contacts-page__field{ flex:none; width:100%; }
  .sec-contacts-page__input-wrap--phone::after{ border-left-width:1px; }
}
@media (max-width:809.98px){
  .sec-contacts-page__title{ padding:150px var(--page-pad) 0; gap:30px; }
  .sec-contacts-page__head{ padding:0; gap:30px; }
  .sec-contacts-page__row,.sec-contacts-page__cols,.sec-contacts-page__form-block{ grid-template-columns:1fr; }
  .sec-contacts-page__col:nth-child(2),.sec-contacts-page__col:nth-child(3),.sec-contacts-page__spacer,.sec-contacts-page__badge-spacer{ display:none; }
  .sec-contacts-page__form-block{ padding:0; }
  .sec-contacts-page__counter,.sec-contacts-page__sub,.sec-contacts-page__form{ grid-column:1 / -1; }
  .sec-contacts-page__sub-line{ white-space:pre-wrap; font-size:15px; }
  .sec-contacts-page__h2{ font-size:60px; }
  .sec-contacts-page__top{ flex-direction:column; align-items:flex-start; gap:20px; }
  .sec-contacts-page__top .sec-contacts-page__field{ flex:none; width:100%; }
  .sec-contacts-page__input-wrap--phone::after{ border-left-width:1px; }
  .sec-contacts-page__submit{ display:flex; flex-direction:column; align-items:flex-start; gap:50px; }
  .sec-contacts-page__hours{ padding:0; }
  .sec-contacts-page__badge-row{ position:relative; bottom:auto; left:auto; transform:none; grid-template-columns:1fr; width:111%; padding:40px var(--page-pad) 0; }
}

/* ==== css/sections/29b-contact-details.css ==== */
/* ==========================================================================
   29b — Contacts page: "Contact details + quotes" (light panel rgba(0,0,0,.05))
   Measured at 1440: section 720 = wrapper pad 50/0 + grid (pad 100/80, one 440px row).
   Hairline columns at x 40 / 493.3 / 946.7 / 1400 span the full 720px.
   ========================================================================== */
.sec-contact-details{
  position:relative; z-index:1; width:100%; height:720px; overflow:clip;
  display:flex; justify-content:center; align-items:center; padding:50px 0;
  background:var(--black-05); color:var(--black); font-family:var(--font-sans);
}

/* ---- hairline columns (behind content) ---- */
.sec-contact-details__cols{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; pointer-events:none; overflow:clip;
}
.sec-contact-details__col{ position:relative; height:100%; border:0 solid var(--line-light); border-right-width:1px; }
.sec-contact-details__col--1{ border-left-width:1px; }

/* ---- content grid ---- */
.sec-contact-details__grid{
  position:relative; z-index:1; flex:1 1 auto; width:auto; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:440px;
  margin:0 var(--page-pad); padding:100px 0 80px; overflow:clip;
}

/* ---- column 1: contact details (top + bottom hairline) ---- */
.sec-contact-details__info{
  position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:70px;
  width:100%; height:100%; padding:40px;
}
.sec-contact-details__info::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light);
}
.sec-contact-details__contacts{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:30px; width:100%; }
.sec-contact-details__label{
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; white-space:pre; color:var(--black);
}
.sec-contact-details__label--dim{ color:var(--black-40); }
.sec-contact-details__details{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; width:100%; }

.sec-contact-details__phone{ display:flex; align-items:center; height:45px; width:max-content; overflow:clip; text-decoration:none; }
.sec-contact-details__phone-txt{ display:block; font-size:30px; font-weight:500; line-height:45px; letter-spacing:-.04em; color:var(--black); white-space:pre; }
.sec-contact-details__phone:hover .sec-contact-details__phone-txt{ color:var(--red); } /* live: instant colour flip */

.sec-contact-details__mail{ display:block; position:relative; height:30px; width:max-content; overflow:clip; text-decoration:none; }
.sec-contact-details__mail-stack{ display:block; position:relative; will-change:transform; } /* hover slide driven by JS */
.sec-contact-details__mail-txt{ display:block; font-size:20px; font-weight:500; line-height:30px; letter-spacing:-.04em; color:var(--black); white-space:pre; }
.sec-contact-details__mail-txt--alt{ position:absolute; top:-29px; left:0; opacity:0; }

.sec-contact-details__address{ width:100%; padding-top:20px; }
.sec-contact-details__address p{ font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; color:var(--black-60); white-space:pre-wrap; }

.sec-contact-details__social{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; }
.sec-contact-details__socials{ display:flex; align-items:center; gap:20px; height:21px; }
.sec-contact-details__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; color:rgb(64,64,64); }
.sec-contact-details__soc svg{ display:block; width:21px; height:21px; overflow:visible; transition:color .5s cubic-bezier(.25,.1,.25,1); will-change:transform; }
.sec-contact-details__soc:hover svg{ color:rgb(235,24,93); }
.sec-contact-details__time{ display:flex; align-items:center; gap:5px; height:12px; }

/* ---- columns 2–3: review cards over photos ---- */
.sec-contact-details__card{ position:relative; width:100%; height:100%; overflow:clip; }
.sec-contact-details__zoom,
.sec-contact-details__shade,
.sec-contact-details__grain{ position:absolute; top:-.47px; left:0; width:100%; height:100%; z-index:1; overflow:clip; pointer-events:none; }
.sec-contact-details__zoom img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-contact-details__shade{ background:var(--black-20); }
.sec-contact-details__grain{ overflow:hidden; }
.sec-contact-details__grain-tile{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; transform:scale(1.2); will-change:transform; backface-visibility:hidden;
}

.sec-contact-details__review{
  position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  width:100%; height:100%; padding:30px; color:var(--white);
}
.sec-contact-details__top{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-contact-details__logo{ display:block; flex:none; width:61px; height:auto; overflow:visible; }
.sec-contact-details__logo--www{ aspect-ratio:54/13; }
.sec-contact-details__logo--fwd{ aspect-ratio:65/19; }
.sec-contact-details__stars{ display:flex; align-items:center; gap:2px; }
.sec-contact-details__stars i{ display:block; width:10px; height:10px; }
.sec-contact-details__stars svg{ display:block; width:100%; height:100%; overflow:visible; }

.sec-contact-details__body{ display:flex; flex-direction:column; align-items:flex-start; gap:50px; width:100%; overflow:hidden; }
.sec-contact-details__quote{ width:100%; font-size:16px; font-weight:600; line-height:22.4px; letter-spacing:-.04em; color:var(--white); white-space:pre-wrap; }
.sec-contact-details__author{ display:flex; flex-direction:column; align-items:flex-start; }
.sec-contact-details__name{ font-size:14px; font-weight:600; line-height:19.6px; letter-spacing:-.04em; color:var(--white); white-space:pre; }
.sec-contact-details__role{ display:flex; align-items:center; gap:5px; font-size:14px; font-weight:400; line-height:21px; letter-spacing:-.04em; color:var(--white-70); white-space:pre; }

/* ---- tablet / phone: stack ---- */
@media (max-width:1199.98px){
  .sec-contact-details{ height:auto; }
  .sec-contact-details__cols{ grid-template-columns:1fr; }
  .sec-contact-details__col:not(.sec-contact-details__col--1){ display:none; }
  .sec-contact-details__grid{ grid-template-columns:1fr; grid-template-rows:auto; grid-auto-rows:440px; padding:60px 0; }
  .sec-contact-details__info{ height:auto; gap:60px; padding:30px; }
}

/* MASK client logos (white PNG) */
img.sec-contact-details__logo{ width:auto; height:22px; max-width:110px; aspect-ratio:auto; object-fit:contain; object-position:left center; }
/* client without a logo file: name set in the label preset */
.sec-contact-details__logo--txt{ display:block; width:auto; height:auto; font-size:12px; font-weight:700; line-height:1; letter-spacing:-.02em; text-transform:uppercase; color:#fff; }

/* ==== css/sections/30-404.css ==== */
/* ==========================================================================
   30 — 404 page: "404 content" block ("[ ND® ‒ 404 / ページなし ]" · "Page not found" · subtitle · "Go back home" · "404 Error")
   Measured on neiden.framer.media/404 at 1440×900 (breakpoint 1200–1619).
   Section = 300px top padding + title wrapper (14 + 40 + 80 + 40 + 44.8 = 218.8) + 150px gap + 40px badge row = 708.8px
   ========================================================================== */
.sec-404{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  width:100%; padding:300px 0 0; gap:150px;
  background:var(--white); color:var(--black);
  overflow:clip;
  font-family:var(--font-sans);
}

/* ---- hairline column grid (absolute, full height; col 1 has left+right rules, cols 2–3 right rule) ---- */
.sec-404__cols{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  overflow:clip; pointer-events:none;
}
.sec-404__col{ position:relative; height:100%; border:0 solid var(--line-light); border-right-width:1px; }
.sec-404__col--1{ border-left-width:1px; }

/* ---- Title wrapper ---- */
.sec-404__wrap{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; gap:40px;
  width:100%; padding:0 var(--page-pad);
}
.sec-404__row{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
}
.sec-404__spacer{ position:relative; display:flex; align-items:center; justify-content:center; min-height:14px; overflow:clip; align-self:start; }

/* counter label "[ ND® ‒ 404 / ページなし ]" (same component as the other page titles) */
.sec-404__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; align-self:start; }
.sec-404__counter-inner{ position:relative; display:flex; align-items:center; gap:15px; width:max-content; height:14px; will-change:transform,opacity; }
.sec-404__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-404__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-404__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-404__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-404__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-404__label-part--ptr{ cursor:pointer; } /* live: cursor:pointer, no hover state, no link */

/* big title (h2, 100px/0.8, -0.08em) — spans columns 2–3, words revealed one by one (opacity .001 + y 20 → 0) */
.sec-404__title{
  grid-column:span 2; align-self:start;
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:100px; font-weight:600; line-height:.8em; letter-spacing:-.08em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-404__word{ display:inline-block; will-change:transform,opacity; }

/* subtitle (16px/1.4, -0.05em, 70% black) — column 2 only at 1200–1619 */
.sec-404__sub{ position:relative; width:100%; align-self:start; will-change:transform,opacity; }
.sec-404__sub-line{
  display:block; margin:0; white-space:pre;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; text-align:left; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-404__sub-line--wide,.sec-404__sub-line--narrow{ display:none; }

/* ---- Badge row: [ button | spacer 25px | badge ] ---- */
.sec-404__badge-row{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
  padding:0 var(--page-pad); overflow:clip;
}
.sec-404__badge-spacer{ height:25px; align-self:start; }
.sec-404__badge{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:40px; align-self:start;
}
.sec-404__badge-text{
  position:relative; white-space:pre; margin:0;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}

/* "Go back home": a 60px-tall dark link clipped to the 40px cell (live: Default button component inside a 40px frame).
   Letters slide in on load (y 15 → 0); on hover the copy is swapped and the new letters slide in (-15 → 0 in, 15 → 0 out),
   the background springs to red — all driven by js/sections/30-404.js. */
.sec-404__btn-cell{ position:relative; width:100%; height:40px; align-self:start; background:var(--grey-f2); overflow:clip; cursor:pointer; }
.sec-404__btn{
  position:absolute; left:0; top:-10px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:60px; background:rgb(36,36,36); color:var(--white); cursor:pointer; text-decoration:none;
}
.sec-404__btn-txt{
  position:relative; z-index:1; display:block; height:12px; overflow:clip; white-space:pre; pointer-events:none; user-select:none;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-404__btn-txt--2{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); visibility:hidden; }
.sec-404__btn.is-hover .sec-404__btn-txt--1{ visibility:hidden; }
.sec-404__btn.is-hover .sec-404__btn-txt--2{ visibility:visible; }
.sec-404__btn-w{ white-space:nowrap; }
.sec-404__btn-txt i{ display:inline-block; font-style:normal; will-change:transform; }
.sec-404__btn-icon{ position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; color:var(--white); pointer-events:none; user-select:none; overflow:visible; }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-404__wrap{ max-width:var(--container-max); padding:0; gap:50px; }
  .sec-404__cols,.sec-404__badge-row{ padding:0; }
  .sec-404__cols{ left:50%; transform:translateX(-50%); }
  .sec-404__sub{ grid-column:span 2; word-break:break-word; }
  .sec-404__sub-line--desktop,.sec-404__sub-line--narrow{ display:none; }
  .sec-404__sub-line--wide{ display:block; white-space:pre-wrap; }
  .sec-404__title{ font-size:130px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-404{ gap:100px; padding:150px var(--page-pad) 0; }
  .sec-404__wrap{ gap:30px; padding:0; }
  .sec-404__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-404__col:nth-child(3){ display:none; }
  .sec-404__row,.sec-404__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-404__badge-row{ padding:0; }
  .sec-404__spacer,.sec-404__badge-spacer{ display:none; }
  .sec-404__title{ font-size:80px; }
  .sec-404__sub{ grid-column:span 2; word-break:break-word; }
  .sec-404__sub-line--desktop,.sec-404__sub-line--narrow{ display:none; }
  .sec-404__sub-line--wide{ display:block; white-space:pre-wrap; }
}
@media (max-width:809.98px){
  .sec-404{ gap:70px; padding:150px var(--page-pad) 0; }
  .sec-404__wrap{ gap:30px; padding:0; }
  .sec-404__cols{ grid-template-columns:1fr; }
  .sec-404__col:nth-child(2),.sec-404__col:nth-child(3){ display:none; }
  .sec-404__row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-404__badge-row{ grid-template-columns:1fr; padding:0; }
  .sec-404__spacer,.sec-404__badge-spacer,.sec-404__badge{ display:none; }
  .sec-404__btn-cell{ grid-column:span 3; }
  .sec-404__title{ grid-column:span 2; font-size:60px; }
  .sec-404__sub{ grid-column:span 2; word-break:break-word; }
  .sec-404__sub-line--desktop,.sec-404__sub-line--wide{ display:none; }
  .sec-404__sub-line--narrow{ display:block; white-space:pre-wrap; }
}

/* ==== css/sections/31-terms.css ==== */
/* ==========================================================================
   31 — Terms of services page (section "Content", 3541.3px at 1440×900, breakpoint 1200–1619)
   Measured on neiden.framer.media/terms-of-services:
   section (bg rgba(0,0,0,.05), flex column, gap 1px)
     ├ title block 708.8 (white, z2): pad-top 300 · inner 218.8 (counter 14 + 40 + h2 80 + 40 + subtitle 44.8) · gap 150 · badge row 40
     └ boxed container 2831.4: pad 0 40px 50px · [info 1/3 sticky, empty] · [content 2/3: pad-top 100, gap 50]
         content: intro 180 · 50 · description 112 · 50 · rich text 1937 · 50 · subscribe 228.4 · 50 · socials 24
   3 hairline columns (rgba(0,0,0,.1)) run behind both blocks.
   ========================================================================== */
.sec-terms{
  position:relative; width:100%;
  display:flex; flex-direction:column; align-items:center; gap:1px;
  background:var(--black-05); color:var(--black);
  font-family:var(--font-sans);
}

/* ---- hairline column grid (absolute, behind everything) ---- */
.sec-terms__cols{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  overflow:clip; pointer-events:none;
}
.sec-terms__col{ position:relative; height:100%; border:0 solid var(--line-light); border-right-width:1px; }
.sec-terms__col--1{ border-left-width:1px; }

/* ======================= Title block ======================= */
.sec-terms__title-block{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:150px;
  width:100%; padding:300px 0 0;
  background:var(--white); overflow:clip;
}
.sec-terms__inner{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; gap:40px;
  width:100%; padding:0 var(--page-pad);
}
.sec-terms__row{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center;
}
.sec-terms__spacer{ position:relative; min-height:14px; overflow:clip; align-self:start; }

/* counter label "[ ND® ‒ TERMS / 利用条件 ]" (same component as the home "Hello" counter) */
.sec-terms__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; align-self:start; }
.sec-terms__counter-inner{ position:relative; display:flex; align-items:center; gap:15px; width:max-content; height:14px; will-change:transform,opacity; }
.sec-terms__icons{ display:flex; align-items:center; flex:none; width:40px; height:14px; color:var(--red); }
.sec-terms__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-terms__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-terms__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-terms__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-terms__label-part--ptr{ cursor:pointer; } /* live: cursor:pointer, no hover state, no link */

/* big title (h2, 100px/0.8em, -0.08em) — spans columns 2–3, words revealed one by one on load */
.sec-terms__h2{
  grid-column:span 2; align-self:start;
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:100px; font-weight:600; line-height:.8em; letter-spacing:-.08em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-terms__word{ display:inline-block; will-change:transform,opacity; }

/* subtitle (16px/1.4, -0.05em, 70% black) — column 2 only at 1200–1619 (two <p>, white-space:pre) */
.sec-terms__sub{ position:relative; width:100%; align-self:start; will-change:transform,opacity; }
.sec-terms__sub-line{
  display:block; margin:0; white-space:pre;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; text-align:left; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-terms__sub-line--wide,.sec-terms__sub-line--narrow{ display:none; }

/* badge row: light band in column 1 with the "Back to Home" link */
.sec-terms__badge-row{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center;
  padding:0 var(--page-pad); overflow:clip;
}
.sec-terms__badge{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; height:40px; align-self:start; background:var(--grey-f2);
}
.sec-terms__back{
  position:relative; display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:17px; padding:0 40px; color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-terms__back-icon{ display:block; flex:none; width:17px; height:17px; overflow:hidden; }
.sec-terms__back-clip{ position:relative; display:flex; align-items:center; height:12px; overflow:clip; }
.sec-terms__back-text{
  display:block; white-space:pre; margin:0;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
  transition:transform .28s cubic-bezier(.3,1.15,.5,1); /* live: layout spring ≈.25s, ~2% overshoot */
}
.sec-terms__back-text--a{ position:relative; }
.sec-terms__back-text--b{ position:absolute; top:-12px; left:0; z-index:1; }
.sec-terms__back-word{ display:inline-block; will-change:transform,opacity; }
/* hover: both copies roll down 12px (the copy parked above the clip window takes the place of the visible one) */
.sec-terms__back:hover .sec-terms__back-text{ transform:translateY(12px); }
html.static .sec-terms__back-text{ transition:none; }

/* ======================= Boxed content container ======================= */
.sec-terms__box{
  position:relative; width:100%; max-width:var(--container-max);
  display:flex; align-items:flex-start; padding:0 var(--page-pad) 50px;
}
.sec-terms__info{ position:sticky; top:0; z-index:2; flex:1 0 0; width:1px; min-height:317px; padding:200px 0 100px; will-change:transform,opacity; }
.sec-terms__content{
  position:relative; z-index:2; flex:2 0 0; width:1px;
  display:flex; flex-direction:column; align-items:flex-start; gap:50px; padding:100px 0 0;
}
.sec-terms__body{ display:flex; flex-direction:column; align-items:flex-start; gap:50px; width:100%; will-change:transform,opacity; }

/* intro paragraph: 30px/1.2em 600 -0.06em, words brighten with scroll (JS) */
.sec-terms__intro{
  width:100%; margin:0; padding:0; white-space:pre-wrap; word-break:break-word;
  font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-.06em; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on;
}
.sec-terms__w{ display:inline-block; will-change:opacity; }
.sec-terms__sp{ display:inline-block; width:.25em; }

/* description: two half columns (padding-right 50), vertically centred row */
.sec-terms__desc{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; overflow:clip; }
.sec-terms__desc-col{
  position:relative; flex:1 0 0; width:1px;
  display:flex; flex-direction:column; justify-content:center; gap:10px; padding:0 50px 0 0; overflow:clip;
  will-change:transform,opacity;
}
.sec-terms__desc-col--left{ align-items:flex-start; }
.sec-terms__desc-col--right{ align-items:center; }
.sec-terms__desc-p{
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}

/* rich text (Framer rich-text presets: h6 18px/1.2 600 -0.02em, paragraph spacing 40 · p 16px/1.4 -0.05em 70% · "•" lists at 2ch) */
/* NB: white-space:pre-wrap only on the leaf text blocks — on the container it would render the
   newlines/indentation between the block tags of the partial as blank lines (rich 5129px instead of 1937px). */
.sec-terms__rich{ position:relative; width:100%; white-space:normal; word-break:break-word; will-change:transform,opacity; }
.sec-terms__rich h6{
  margin:40px 0 0; padding:0; white-space:pre-wrap;
  font-size:18px; font-weight:600; line-height:1.2em; letter-spacing:-.02em; color:var(--black);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-terms__rich h6:first-child{ margin-top:0; }
.sec-terms__rich p,.sec-terms__rich ul{
  margin:0; padding:0;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-terms__rich p{ white-space:pre-wrap; }
.sec-terms__rich ul{ position:relative; list-style:none; }
.sec-terms__rich li{ display:list-item; list-style:none; padding-inline-start:2ch; }
.sec-terms__rich li::before{ content:"•"; position:absolute; inset-inline-start:0; }
.sec-terms__rich li p{ margin:0; }

/* ---- subscribe block: 2 columns, hairline top/bottom, padding 40 ---- */
.sec-terms__subscribe{
  position:relative; z-index:2; width:100%; max-width:var(--container-max);
  display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center;
  padding:40px; overflow:clip;
  box-shadow:inset 0 1px 0 var(--line-light), inset 0 -1px 0 var(--line-light);
}
.sec-terms__sub-heading{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; align-self:start; }
.sec-terms__counter-inner--sub{ width:100%; }
.sec-terms__sub-desc{ width:100%; word-break:break-word; will-change:transform,opacity; }
.sec-terms__sub-desc-p{
  margin:0; white-space:pre-wrap;
  font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; text-align:left; color:var(--black-70);
  font-feature-settings:"blwf" on,"cv09" on,"cv03" on,"cv04" on,"cv11" on;
}
.sec-terms__sub-desc-p--narrow{ display:none; }

.sec-terms__form-block{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:20px;
  width:100%; padding:0 0 0 50px; overflow:clip; align-self:start; will-change:transform,opacity;
}
.sec-terms__field-label{
  white-space:pre; margin:0;
  font-size:12px; font-weight:600; line-height:1em; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-terms__form{ position:relative; display:flex; align-items:flex-start; gap:0; width:100%; overflow:hidden; }
.sec-terms__field{ display:flex; align-items:flex-start; gap:10px; flex:1 0 0; width:1px; min-width:0; cursor:default; }
.sec-terms__input-wrap{
  position:relative; display:flex; align-items:center; flex:1 0 0; width:1px; height:60px;
  padding:12px 12px 12px 30px; background:var(--white); overflow:hidden;
}
.sec-terms__input-wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none; box-sizing:border-box;
  border:0 solid var(--red);
  transition:border-color .3s cubic-bezier(.44,0,.56,1), border-width .3s cubic-bezier(.44,0,.56,1);
}
.sec-terms__input-wrap:focus-within::after{ border-width:1px; }
.sec-terms__input{
  flex:1 1 0; width:auto; min-width:0; height:100%; margin:0; padding:0; border:0; outline:none; background:none;
  font-family:var(--font-sans); font-size:16px; font-weight:600; line-height:1.2em; letter-spacing:-.04em; color:var(--black);
  white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-feature-settings:normal;
}
.sec-terms__input::placeholder{ color:var(--black-20); opacity:1; }
.sec-terms__submit{
  position:relative; z-index:1; flex:none; display:flex; justify-content:center; align-items:center;
  width:60px; height:60px; margin:0; padding:0; border:0; border-radius:0;
  background:var(--black); color:var(--white); cursor:pointer;
}
.sec-terms__submit-icon{
  display:flex; justify-content:center; align-items:center; width:18px; height:18px;
  transition:transform .25s cubic-bezier(.44,0,.56,1); will-change:transform; /* live: arrow rotates 45° in ~250ms */
}
.sec-terms__submit-icon svg{ display:block; width:18px; height:18px; overflow:hidden; }
.sec-terms__submit:hover .sec-terms__submit-icon{ transform:rotate(45deg); }

.sec-terms__consent{ display:flex; flex-direction:column; }
.sec-terms__consent-p{
  margin:0; white-space:pre;
  font-size:13px; font-weight:500; line-height:1.4em; letter-spacing:-.04em; color:var(--black-50);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on;
}
.sec-terms__consent-p--wide{ display:none; }
.sec-terms__consent a{
  color:var(--black-90); text-decoration:underline; text-decoration-color:var(--black-20);
  text-underline-offset:.16em; text-decoration-thickness:.05em;
  transition:color .4s cubic-bezier(.44,0,.56,1), text-decoration-color .4s cubic-bezier(.44,0,.56,1), text-decoration-thickness .4s cubic-bezier(.44,0,.56,1), text-underline-offset .4s cubic-bezier(.44,0,.56,1);
}
.sec-terms__consent a[aria-current="page"]{ color:var(--black); } /* live: link to the current page uses --framer-link-current-text-color (#000) instead of #000000e6 */
.sec-terms__consent a:hover{ color:var(--red); }

/* ---- socials + "STAY / CONNECTED" ---- */
.sec-terms__social{ position:relative; display:flex; align-items:center; gap:20px; width:max-content; height:24px; will-change:transform,opacity; }
.sec-terms__socials{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:46px; }
.sec-terms__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; cursor:pointer; color:rgba(99,99,99,.7); }
.sec-terms__soc svg{ display:block; width:21px; height:21px; overflow:hidden; will-change:transform; transition:color .5s cubic-bezier(.25,.1,.25,1); } /* scale 1→1.4 driven by JS spring(.6) */
.sec-terms__soc:hover svg{ color:var(--white); } /* live: the icon stroke fades to white (component variant shared with the dark footer) */
.sec-terms__stay{ position:relative; z-index:1; display:flex; flex-direction:column; white-space:pre; }
.sec-terms__stay-p{
  margin:0; white-space:pre;
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-terms__stay-p--dim{ color:rgb(89,89,89); }

/* ======================= Responsive (secondary) ======================= */
@media (min-width:1620px){
  .sec-terms__inner{ max-width:var(--container-max); padding:0; gap:50px; }
  .sec-terms__cols,.sec-terms__badge-row{ padding:0; }
  .sec-terms__cols{ left:50%; transform:translateX(-50%); }
  .sec-terms__box{ padding:0 0 50px; }
  .sec-terms__cols--box{ left:0; transform:none; }
  .sec-terms__h2{ font-size:130px; }
  .sec-terms__sub{ grid-column:span 2; word-break:break-word; }
  .sec-terms__sub-line--desktop,.sec-terms__sub-line--narrow{ display:none; }
  .sec-terms__sub-line--wide{ display:block; white-space:pre-wrap; }
  .sec-terms__body{ gap:60px; }
  .sec-terms__subscribe{ padding:50px 0; }
  .sec-terms__sub-heading{ padding:0 0 0 50px; align-self:center; }
  .sec-terms__form-block{ padding:0 50px; }
  .sec-terms__consent-p--desktop{ display:none; }
  .sec-terms__consent-p--wide{ display:block; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-terms__title-block{ gap:100px; padding:150px var(--page-pad) 0; }
  .sec-terms__inner{ gap:30px; padding:0; }
  .sec-terms__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-terms__col:nth-child(3){ display:none; }
  .sec-terms__row,.sec-terms__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-terms__badge-row{ padding:0; }
  .sec-terms__spacer{ display:none; }
  .sec-terms__h2{ font-size:80px; }
  .sec-terms__sub{ grid-column:span 2; word-break:break-word; }
  .sec-terms__sub-line--desktop,.sec-terms__sub-line--narrow{ display:none; }
  .sec-terms__sub-line--wide{ display:block; white-space:pre-wrap; }
  .sec-terms__box{ flex-direction:column; }
  .sec-terms__info{ display:none; }
  .sec-terms__content{ flex:none; width:100%; padding:50px 0 0; }
  .sec-terms__body{ gap:30px; }
  .sec-terms__desc{ flex-direction:column; gap:40px; }
  .sec-terms__desc-col{ flex:none; width:100%; }
  .sec-terms__subscribe{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:50px 40px; }
  .sec-terms__form-block{ padding:0; }
  .sec-terms__social{ width:min-content; }
  .sec-terms__consent-p--desktop{ display:none; }
  .sec-terms__consent-p--wide{ display:block; white-space:pre-wrap; }
}
@media (max-width:809.98px){
  .sec-terms__title-block{ gap:70px; padding:150px var(--page-pad) 0; }
  .sec-terms__inner{ gap:30px; padding:0; }
  .sec-terms__cols{ grid-template-columns:1fr; }
  .sec-terms__col:nth-child(2),.sec-terms__col:nth-child(3){ display:none; }
  .sec-terms__row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-terms__badge-row{ grid-template-columns:1fr; padding:0; }
  .sec-terms__spacer{ display:none; }
  .sec-terms__h2{ grid-column:span 2; font-size:60px; }
  .sec-terms__sub{ grid-column:span 2; word-break:break-word; }
  .sec-terms__sub-line--desktop,.sec-terms__sub-line--wide{ display:none; }
  .sec-terms__sub-line--narrow{ display:block; white-space:pre-wrap; }
  .sec-terms__box{ flex-direction:column; padding:0 var(--page-pad) 50px; }
  .sec-terms__info{ display:none; }
  .sec-terms__content{ flex:none; width:100%; padding:50px 0 0; }
  .sec-terms__body{ gap:40px; }
  .sec-terms__intro{ font-size:24px; }
  .sec-terms__desc{ flex-direction:column; gap:40px; }
  .sec-terms__desc-col{ flex:none; width:100%; padding:0; }
  .sec-terms__subscribe{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:30px 30px 100px; }
  .sec-terms__form-block{ padding:0; }
  .sec-terms__sub-desc-p--desktop{ display:none; }
  .sec-terms__sub-desc-p--narrow{ display:block; }
  .sec-terms__social{ position:absolute; bottom:20px; left:50%; z-index:1; width:min-content; transform:translateX(-50%); }
}

/* ==== css/sections/32-privacy.css ==== */
/* ==========================================================================
   32 — Privacy page: "Content" section (measured on neiden.framer.media/privacy at 1440×900, breakpoint 1200–1619)
   section (grey #0000000d, flex column, gap 1px) = Title block 708.8 + 1 + Boxed content 2820.8 = 3530.6
   Title block (white, z2): padding-top 300 · inner (padding 0 40, gap 40): counter 14 / title 80 / subtitle 44.8 · gap 150 · badge row 40
   Boxed (padding 0 40 50): sticky empty Info column (1/3) + Content (2/3, padding-top 100, gap 50):
     body (gap 60: lead 180 / description 89.6 / rich text 1937) · subscribe 220.2 · social 24
   3 hairline columns absolutely positioned behind each block.
   ========================================================================== */
.sec-privacy{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  width:100%; background:var(--black-05); color:var(--black); font-family:var(--font-sans);
  --sec-privacy-ease-swap:linear(0, 0.35 10%, 0.62 20%, 0.82 30%, 0.94 40%, 1.006 50%, 1.015 60%, 1.012 70%, 1.006 80%, 1.002 90%, 1); /* text swap on hover: spring ~.4s, 1.5% overshoot (sampled) */
  --sec-privacy-ease-rotate:linear(0, 0.005 18%, 0.073 35%, 0.40 51%, 0.81 68%, 0.965 85%, 1); /* submit arrow rotate 0→45°: ~200ms ease-in-out after a ~55ms render latency (sampled on the live button) */
  --sec-privacy-ease-spring:linear(0, 0.02 4%, 0.165 8.9%, 0.34 14%, 0.52 19.7%, 0.66 24.8%, 0.76 30.2%, 0.84 35.8%, 0.895 41.5%, 0.93 46.3%, 0.95 51.9%, 0.97 57.3%, 0.98 62.4%, 0.988 67.9%, 0.993 73.4%, 0.998 84%, 1); /* spring dur .62 bounce 0: social icon scale (sampled 1→1.4 in ~600ms) */
}

/* reveal targets are hidden until main.js has applied their initial states (the live SSR HTML ships them with opacity:0) */
html:not(.js) .sec-privacy [data-reveal]{ opacity:0; }

/* ---- hairline column grids (absolute, behind the content) ---- */
.sec-privacy__cols{
  position:absolute; top:0; left:0; z-index:0;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center;
  width:100%; height:100%; padding:0 var(--page-pad); overflow:clip; pointer-events:none;
}
.sec-privacy__col{ position:relative; height:100%; border-right:1px solid var(--line-light); }
.sec-privacy__col--first{ border-left:1px solid var(--line-light); }

/* ==================== Title block ==================== */
.sec-privacy__title{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:150px;
  width:100%; padding:300px 0 0; background:var(--white); overflow:clip;
}
.sec-privacy__inner{
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:40px;
  width:100%; max-width:var(--container-max); padding:0 var(--page-pad);
}
.sec-privacy__row{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr);
  justify-content:center; gap:0; width:100%;
}
.sec-privacy__spacer{ position:relative; min-height:14px; overflow:clip; }

/* counter label: 5 red flags (40px) + gap 15 + "[ ND® ‒ PRIVACY / 個人情報保護 ]" (14px/14 600 -.04em, jp part 500 40%) */
.sec-privacy__counter{ position:relative; display:flex; align-items:center; gap:10px; width:100%; height:14px; }
.sec-privacy__counter-box{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); will-change:transform,opacity; }
.sec-privacy__icons{ display:flex; align-items:center; flex:none; width:40px; height:14px; color:var(--red); }
.sec-privacy__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-privacy__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-privacy__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-privacy__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-privacy__label-part--link{ cursor:pointer; }

/* title: DM Sans 100/80 600 -8px, columns 2–3 */
.sec-privacy__h{
  position:relative; grid-column:span 2; place-self:start; width:100%; margin:0;
  color:var(--black); white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
}
.sec-privacy__word{ display:inline-block; will-change:transform,opacity; }

/* subtitle: 16/22.4 400 -.05em rgba(0,0,0,.7), column 2, two pre lines at the measured breakpoint */
.sec-privacy__sub{ position:relative; place-self:start; width:100%; color:var(--black-70); will-change:transform,opacity; }
.sec-privacy__sub-line{ display:none; margin:0; white-space:pre; }
.sec-privacy__sub-line--desk{ display:block; }

/* badge row: light band in column 1 with the "BACK TO HOME" link */
.sec-privacy__badge-row{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center; gap:0;
  width:100%; max-width:var(--container-max); padding:0 var(--page-pad); overflow:clip;
}
.sec-privacy__badge{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:40px; background:var(--grey-f2); }
.sec-privacy__badge-spacer{ height:25px; }
.sec-privacy__back{
  position:relative; display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:17px; padding:0 40px; color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-privacy__back-icon{ display:block; flex:none; width:17px; height:17px; overflow:hidden; color:var(--black); }
.sec-privacy__back-box{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; height:12px; overflow:clip; }
.sec-privacy__back-copy{ display:block; margin:0; white-space:pre; color:var(--black); transition:transform .4s var(--sec-privacy-ease-swap); will-change:transform; }
.sec-privacy__back-copy--a{ position:relative; }
.sec-privacy__back-copy--b{ position:absolute; top:-12px; left:0; z-index:1; }
.sec-privacy__back:hover .sec-privacy__back-copy{ transform:translateY(12px); } /* both copies slide down 12px (live: layout animation, second copy comes in from above) */
.sec-privacy__back-w{ display:inline-block; will-change:transform,opacity; }

/* ==================== Boxed content ==================== */
.sec-privacy__boxed{
  position:relative; display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; gap:0;
  width:100%; max-width:var(--container-max); padding:0 var(--page-pad) 50px;
}
.sec-privacy__cols--boxed{ z-index:0; }
.sec-privacy__info{ position:sticky; top:0; z-index:2; flex:1 0 0; width:1px; min-height:317px; padding:200px 0 100px; }
.sec-privacy__content{
  position:relative; z-index:2; flex:2 0 0; width:1px;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:50px; padding:100px 0 0;
}
.sec-privacy__body{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:60px; width:100%; will-change:transform,opacity; }

/* lead paragraph: 30/36 600 -.06em; words are inline-block spans separated by .25em inline-block spacers (live markup);
   opacity .1 → 1 driven by scroll (32-privacy.js) */
.sec-privacy__lead{
  width:100%; margin:0; padding:0; color:var(--black); white-space:pre-wrap; word-break:break-word;
  font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-.06em;
}
.sec-privacy__w{ display:inline-block; opacity:.1; will-change:opacity; }
.sec-privacy__sp{ display:inline-block; width:.25em; }
.sec-privacy--static .sec-privacy__w,.sec-privacy--nojs .sec-privacy__w{ opacity:1; }

/* description: two flex columns (padding-right 50), 16/22.4 400 -.05em rgba(0,0,0,.7) */
.sec-privacy__desc{ position:relative; display:flex; align-items:center; justify-content:center; gap:0; width:100%; overflow:clip; }
.sec-privacy__desc-col{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px;
  flex:1 0 0; width:1px; padding:0 50px 0 0; overflow:clip; will-change:transform,opacity;
}
.sec-privacy__desc-text{ width:100%; margin:0; color:var(--black-70); white-space:pre-wrap; word-break:break-word; }
.sec-privacy__desc-text--wide{ display:none; } /* the <br> variant is shown at every other breakpoint (tree: hidden only at 1200–1619) */

/* rich text: h6 18/21.6 600 -.02em (margin-top 40 except the first), p 16/22.4 400 -.05em 70%, bullets "•" (li padding 2ch) */
/* the live container is pre-wrap with no whitespace between its blocks; our partial is indented, so the container
   collapses whitespace and only the text blocks are pre-wrap */
.sec-privacy__rich{ position:relative; width:100%; color:var(--black-70); white-space:normal; word-break:break-word; will-change:transform,opacity; }
.sec-privacy__rich h6{ margin:40px 0 0; font-size:18px; font-weight:600; line-height:1.2em; letter-spacing:-.02em; color:var(--black); white-space:pre-wrap; }
.sec-privacy__rich h6:first-child{ margin-top:0; }
.sec-privacy__rich p{ margin:0; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); white-space:pre-wrap; }
.sec-privacy__rich ul{ position:relative; margin:0; padding:0; list-style:none; font-size:16px; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); }
.sec-privacy__rich li{ position:relative; display:list-item; margin:0; padding:0 0 0 2ch; list-style:none; white-space:pre-wrap; }
.sec-privacy__rich li::before{ content:"•"; position:absolute; inset-inline-start:0; top:0; color:var(--black-70); }

/* ---- subscribe block: 2 columns, padding 40 40 50, 1px top/bottom hairlines drawn inside the box ---- */
.sec-privacy__subscribe{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); grid-auto-rows:minmax(0,1fr); justify-content:center; gap:0;
  width:100%; padding:40px 40px 50px; overflow:clip;
}
.sec-privacy__subscribe::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-bottom-width:1px; pointer-events:none; }
.sec-privacy__sub-head{ position:relative; align-self:center; justify-self:start; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; width:100%; }
.sec-privacy__counter-box--sub{ width:100%; }
.sec-privacy__sub-desc{ width:100%; color:var(--black-70); will-change:transform,opacity; }
.sec-privacy__sub-desc-line{ display:none; margin:0; white-space:pre-wrap; word-break:break-word; }
.sec-privacy__sub-desc-line--desk{ display:block; }

.sec-privacy__form-block{
  position:relative; align-self:start; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px;
  width:100%; padding:0 0 0 40px; overflow:clip; will-change:transform,opacity;
}
.sec-privacy__field-label{ margin:0; white-space:pre; color:var(--black); }
.sec-privacy__form{ position:relative; display:flex; align-items:flex-start; gap:0; width:100%; margin:0; overflow:hidden; }
.sec-privacy__field{ display:flex; align-items:flex-start; gap:10px; flex:1 0 0; width:1px; min-width:0; cursor:default; }
.sec-privacy__input-wrap{
  position:relative; display:flex; align-items:center; flex:1 0 0; width:1px; height:60px;
  padding:12px 12px 12px 30px; background:var(--white); overflow:hidden;
  transition:background .3s cubic-bezier(.44,0,.56,1), box-shadow .3s cubic-bezier(.44,0,.56,1);
}
.sec-privacy__input-wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none; box-sizing:border-box; border:0 solid var(--red);
  transition:border-color .3s cubic-bezier(.44,0,.56,1), border-width .3s cubic-bezier(.44,0,.56,1);
}
.sec-privacy__input-wrap:focus-within::after{ border-width:1px; }
.sec-privacy__input{
  flex:1 1 0; width:auto; min-width:0; height:100%; margin:0; padding:0; border:0; outline:none; background:none;
  font-family:var(--font-sans); font-size:16px; font-weight:600; line-height:1.2em; letter-spacing:-.04em; color:var(--black);
  white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-feature-settings:normal;
}
.sec-privacy__input::placeholder{ color:var(--black-20); opacity:1; }
.sec-privacy__submit{
  position:relative; z-index:1; flex:none; display:flex; justify-content:center; align-items:center;
  width:60px; height:60px; margin:0; padding:0; border:0; border-radius:0; background:var(--black); color:var(--white); cursor:pointer;
}
.sec-privacy__submit-icon{ display:flex; justify-content:center; align-items:center; width:18px; height:18px; transition:transform .3s var(--sec-privacy-ease-rotate); will-change:transform; } /* live sampled: 0 @65ms, .07 @105, .40 @154, .81 @204, 1 @306 after hover */
.sec-privacy__submit-icon svg{ display:block; width:18px; height:18px; overflow:hidden; }
.sec-privacy__submit:hover .sec-privacy__submit-icon{ transform:rotate(45deg); }
.sec-privacy__consent{
  width:100%; margin:0; white-space:pre-wrap; word-break:break-word;
  font-size:13px; font-weight:500; line-height:1.4em; letter-spacing:-.04em; color:var(--black-50);
}
@media (min-width:1200px) and (max-width:1619.98px){ .sec-privacy__consent{ width:auto; white-space:pre; } } /* live 1200–1619: auto width + pre (350.3px box) */
.sec-privacy__consent a{
  color:var(--black-90); text-decoration:underline; text-decoration-color:var(--black-20); text-underline-offset:.16em; text-decoration-thickness:.05em;
  transition:color .4s cubic-bezier(.44,0,.56,1), text-decoration-color .4s cubic-bezier(.44,0,.56,1), text-decoration-thickness .4s cubic-bezier(.44,0,.56,1), text-underline-offset .4s cubic-bezier(.44,0,.56,1);
}
.sec-privacy__consent a[href="/privacy"]{ color:var(--black); } /* live: current-page link colour #000 (Terms link stays 90%) */
.sec-privacy__consent a:hover{ color:var(--red); }

/* ---- social: 4 icons (21px, stroke rgba(99,99,99,.7)) + "STAY / CONNECTED" ---- */
.sec-privacy__social{ position:relative; display:flex; align-items:center; justify-content:flex-start; gap:20px; width:min-content; will-change:transform,opacity; }
.sec-privacy__soc-list{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:46px; }
.sec-privacy__soc{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:21px; height:21px; cursor:pointer; }
.sec-privacy__soc svg{
  display:block; width:21px; height:21px; overflow:hidden; color:rgba(99,99,99,.7);
  transition:transform .62s var(--sec-privacy-ease-spring), color .62s var(--sec-privacy-ease-spring); will-change:transform;
}
.sec-privacy__soc:hover svg{ transform:scale(1.4); color:var(--white); }
.sec-privacy__stay{ position:relative; z-index:1; display:flex; flex-direction:column; white-space:pre; }
.sec-privacy__stay-line{ margin:0; white-space:pre; color:var(--black); }
.sec-privacy__stay-line--grey{ color:rgb(89,89,89); }

/* ==================== breakpoints ==================== */
/* ≥1620: 1550px container, inner gap 50, subscribe padding 50 0, heading indent 50, form padding 0 50 */
@media (min-width:1620px){
  .sec-privacy__cols{ left:calc(50% - min(var(--container-max),100%)/2); max-width:var(--container-max); padding:0; }
  .sec-privacy__inner{ gap:50px; padding:0; }
  .sec-privacy__badge-row{ padding:0; }
  .sec-privacy__boxed{ padding:0 0 50px; }
  .sec-privacy__sub-line--desk{ display:none; }
  .sec-privacy__sub-line--wide{ display:block; white-space:pre-wrap; word-break:break-word; }
  .sec-privacy__subscribe{ padding:50px 0; }
  .sec-privacy__sub-head{ padding:0 0 0 50px; }
  .sec-privacy__form-block{ padding:0 50px; }
}
/* 810–1199: 2 columns, one text column */
@media (max-width:1199.98px){
  .sec-privacy__title{ gap:100px; padding:150px var(--page-pad) 0; }
  .sec-privacy__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-privacy__col:nth-child(3){ display:none; }
  .sec-privacy__inner{ gap:30px; padding:0; }
  .sec-privacy__row,.sec-privacy__badge-row{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-privacy__spacer,.sec-privacy__badge-spacer:nth-child(3){ display:none; }
  .sec-privacy__h{ grid-column:span 2; font-size:80px; }
  .sec-privacy__sub{ grid-column:span 2; }
  .sec-privacy__sub-line--desk{ display:none; }
  .sec-privacy__sub-line--small{ display:block; white-space:pre-wrap; word-break:break-word; }
  .sec-privacy__badge-row{ padding:0; }
  .sec-privacy__boxed{ flex-direction:column; }
  .sec-privacy__info{ display:none; }
  .sec-privacy__content{ flex:none; width:100%; padding:50px 40px 0; }
  .sec-privacy__body{ gap:40px; }
  .sec-privacy__lead{ font-size:26px; }
  .sec-privacy__subscribe{ display:flex; flex-direction:column; align-items:flex-start; gap:40px; padding:50px 40px; }
  .sec-privacy__sub-head,.sec-privacy__form-block{ align-self:auto; padding:0; }
  .sec-privacy__sub-desc-line--desk{ display:none; }
  .sec-privacy__sub-desc-line--small{ display:block; }
}
/* <810: 1 column */
@media (max-width:809.98px){
  .sec-privacy__title{ gap:70px; padding:150px var(--page-pad) 0; }
  .sec-privacy__cols{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-privacy__col:nth-child(2){ display:none; }
  .sec-privacy__row,.sec-privacy__badge-row{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-privacy__badge-spacer{ display:none; }
  .sec-privacy__h{ grid-column:span 1; font-size:60px; }
  .sec-privacy__sub{ grid-column:span 1; }
  .sec-privacy__boxed{ padding:0 var(--page-pad) 50px; }
  .sec-privacy__content{ padding:50px 0 0; }
  .sec-privacy__lead{ font-size:22px; }
  .sec-privacy__desc{ flex-direction:column; gap:50px; }
  .sec-privacy__desc-col{ flex:none; width:100%; padding:0; }
  .sec-privacy__desc-text--desk{ display:none; }
  .sec-privacy__desc-text--small{ display:block; }
  .sec-privacy__subscribe{ padding:30px 30px 100px; }
  .sec-privacy__social{ width:100%; justify-content:center; }
}

/* ==== css/sections/33-project-inner.css ==== */
/* ==========================================================================
   33 — Project detail page (template), measured on neiden.framer.media/projects/featured-1 at 1440×900
   Section: flex column, padding-top 44 (fixed header), bg rgba(0,0,0,.05), overflow clip.
   y (from section top): hero 44→944 · content 944→5596.5 (pad-top 150, gap 100: S1 185.6 / images 1885.6 /
   S3 1085.6 / S4 185.6 / extra 760) · next title 5596.5→5935.3 · card 5935.3→6835.3 · (contact form 6835.3→7707)
   ========================================================================== */
.sec-project-inner{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; padding:var(--header-h) 0 0; background:var(--black-05); color:var(--black);
  font-family:var(--font-sans); overflow:clip;
}
/* shared 3-column hairline grid (absolute, full height, 40px side padding) */
.sec-project-inner__cols,.sec-project-inner__hero-grid,.sec-project-inner__pag-lines{
  position:absolute; top:0; left:0; z-index:0; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr));
  justify-content:center; width:100%; height:100%; padding:0 var(--page-pad); pointer-events:none; overflow:clip;
}
@media (min-width:1620px){
  .sec-project-inner__cols,.sec-project-inner__hero-grid,.sec-project-inner__pag-lines{ left:calc(50% - min(var(--container-max),100%)/2); max-width:var(--container-max); padding:0; }
}
.sec-project-inner__cols i{ display:block; height:100%; border-right:1px solid var(--line-light); }
.sec-project-inner__cols i:first-child{ border-left:1px solid var(--line-light); }

/* ---- counter label: 5 red flags (40px) + gap 15 + "[ ND® ‒ LABEL / 日本語 ]" (14px/600 -.04em, 2px gaps) ---- */
.sec-project-inner__cnt{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); }
.sec-project-inner__cnt-icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-project-inner__cnt-icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-project-inner__cnt-label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-project-inner__cnt-part{
  display:block; white-space:pre; color:inherit;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__cnt-part--jp{ font-weight:500; color:var(--black-40); }
.sec-project-inner__cnt-part--link{ cursor:pointer; }
.sec-project-inner__cnt--light{ color:var(--white); }
.sec-project-inner__cnt--light .sec-project-inner__cnt-part--jp{ color:var(--white-50); }

/* grain (same noise tile + diagonal jitter as the home hero / projects grid) */
.sec-project-inner__grain{ position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; overflow:hidden; pointer-events:none; }
.sec-project-inner__grain i{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.15; mix-blend-mode:overlay; will-change:transform; transform:scale(1.2);
  animation:sec-project-inner-grain 1.2s steps(1) infinite;
}
@keyframes sec-project-inner-grain{
  0%{ transform:translate(9.25%,-9.25%) scale(1.2); } 12.5%{ transform:translate(6.75%,-6.75%) scale(1.2); } 25%{ transform:translate(-3.25%,3.25%) scale(1.2); }
  37.5%{ transform:translate(-11%,11%) scale(1.2); } 50%{ transform:translate(2.5%,-2.5%) scale(1.2); } 62.5%{ transform:translate(12%,-12%) scale(1.2); }
  75%{ transform:translate(-7.5%,7.5%) scale(1.2); } 87.5%{ transform:translate(-1%,1%) scale(1.2); } 100%{ transform:translate(9.25%,-9.25%) scale(1.2); }
}

/* ===================== Hero (100vh) ===================== */
.sec-project-inner__hero{
  position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:30px;
  width:100%; height:100vh; padding:0 var(--page-pad) 150px; overflow:clip; color:var(--white);
}
/* image box 1440×990 at top -90 (parallax: translateY(.2·scrollY) scale(1+scrollY/12000)); inner zoom 1.5 → 1 on load */
.sec-project-inner__hero-media{ position:absolute; top:-90px; left:0; z-index:0; width:100%; height:calc(100% + 90px); overflow:clip; will-change:transform; transform-origin:50% 50%; }
.sec-project-inner__hero-zoom{ position:absolute; inset:0; transform-origin:50% 50%; will-change:transform; }
.sec-project-inner__hero-zoom img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-project-inner__hero-mask{ position:absolute; inset:0; z-index:1; background:rgb(15,15,15); opacity:.7; pointer-events:none; }
.sec-project-inner__hero-grid{ z-index:2; height:100%; }
.sec-project-inner__hero-col{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; height:100%; overflow:clip; }
.sec-project-inner__hero-col::after{ content:""; position:absolute; inset:0; border-right:1px solid var(--line-dark); pointer-events:none; }
.sec-project-inner__hero-col:first-child::after{ border-left:1px solid var(--line-dark); }
.sec-project-inner__hero-col:first-child{ overflow:visible; }

/* "Visit project" badge: 40px, #f2f2f2, arrow 17px + text (two copies swap on hover, 12px clip) */
.sec-project-inner__visit{
  position:relative; z-index:0; display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:40px; background:var(--grey-f2); pointer-events:auto;
}
.sec-project-inner__visit-link{
  display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:17px; padding:0 40px;
  color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-project-inner__visit-arrow{ display:block; flex:none; width:17px; height:17px; }
.sec-project-inner__visit-txt{ position:relative; display:flex; align-items:center; height:12px; overflow:clip; }
.sec-project-inner__visit-main,.sec-project-inner__visit-alt{
  display:block; white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on; will-change:transform;
}
.sec-project-inner__visit-main span{ display:inline-block; }
.sec-project-inner__visit-alt{ position:absolute; top:0; left:0; z-index:1; transform:translateY(-12px); }

/* hero rows: 3-column grid, spacer in column 1 */
.sec-project-inner__hero-row,.sec-project-inner__facts-table{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr);
  justify-content:center; width:100%; max-width:var(--container-max);
}
.sec-project-inner__spacer{ position:relative; min-height:1px; overflow:clip; }
.sec-project-inner__hero-counter{ position:relative; grid-column:span 2; display:flex; flex-direction:column; align-items:flex-start; height:14px; }
.sec-project-inner__hero-heading{ position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start; width:100%; max-width:var(--container-max); }
.sec-project-inner__h1{
  width:100%; white-space:pre-wrap; word-break:break-word; color:var(--white);
  font-size:60px; font-weight:600; line-height:60px; letter-spacing:-.07em; will-change:transform,opacity;
}
.sec-project-inner__sub{
  position:relative; grid-column:span 2; width:100%; white-space:pre-wrap; text-align:left; color:var(--white);
  font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em;
}
/* facts table: padding-top 100, 4 rows of 42 (12px labels, 15px vertical padding, 1px white/10% rule) */
.sec-project-inner__facts-table{ padding:100px 0 0; overflow:clip; }
.sec-project-inner__table{ position:relative; z-index:1; grid-column:span 2; display:flex; flex-direction:column; align-items:center; width:100%; overflow:hidden; }
.sec-project-inner__line{ position:relative; display:flex; align-items:center; width:100%; padding:15px 0; }
.sec-project-inner__line::after{ content:""; position:absolute; inset:0; border-bottom:1px solid var(--line-dark); pointer-events:none; }
.sec-project-inner__key,.sec-project-inner__val{
  flex:1 0 0; width:1px; white-space:pre-wrap;
  font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__key{ white-space:pre; color:var(--white-50); }
.sec-project-inner__val{ color:var(--white); }

/* ===================== Project content ===================== */
.sec-project-inner__content{
  position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:100px;
  width:100%; max-width:var(--container-max); padding:150px 0 0;
}
@media (max-width:1619.98px){ .sec-project-inner__content{ max-width:none; padding:150px var(--page-pad) 0; } }
.sec-project-inner__images{ display:flex; flex-direction:column; align-items:center; gap:100px; width:100%; }

/* a section = 3-column grid: counter (col 1) + content (cols 2-3) */
.sec-project-inner__sec{ position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center; width:100%; }
.sec-project-inner__sec-counter{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; height:14px; }
.sec-project-inner__sec-content{ position:relative; grid-column:span 2; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; }
.sec-project-inner__sec--media .sec-project-inner__sec-content{ gap:100px; }
.sec-project-inner__sec-inner{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; width:100%; overflow:clip; }
.sec-project-inner__sec-h{
  width:100%; white-space:pre-wrap; color:var(--black);
  font-size:30px; font-weight:600; line-height:1.1; letter-spacing:-.07em; will-change:transform,opacity;
}
.sec-project-inner__sec-desc{ display:flex; align-items:flex-start; justify-content:center; width:100%; overflow:clip; }
.sec-project-inner__sec-col{ flex:1 0 0; width:1px; padding:0 30px 0 0; will-change:transform,opacity; }
.sec-project-inner__sec-col--wide{ padding-right:50px; }
.sec-project-inner__sec-col p{ white-space:pre-wrap; text-align:left; color:var(--black-70); font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; }

/* gallery: 2 stacked 400px images (inner scale 1.7 → 1 on appear) */
.sec-project-inner__gallery{ display:grid; grid-template-columns:100%; width:100%; }
.sec-project-inner__img{ position:relative; width:100%; height:400px; overflow:clip; }
.sec-project-inner__img-zoom,.sec-project-inner__tri-zoom,.sec-project-inner__rv-zoom{ position:absolute; inset:0; transform-origin:50% 50%; will-change:transform; overflow:hidden; }
.sec-project-inner__img-zoom img,.sec-project-inner__tri-zoom img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }

/* triangle block: 700px image, 63px corner cut top-left */
.sec-project-inner__tri{ position:relative; width:100%; height:700px; overflow:clip; will-change:transform,opacity; }
.sec-project-inner__corner{ position:absolute; top:0; left:0; z-index:1; width:63px; height:63px; transform:rotate(-90deg); pointer-events:none; }

/* ---- extra info: featured review (500) + facts (260) ---- */
.sec-project-inner__extra{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; width:100%; overflow:clip; }
.sec-project-inner__review{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); width:100%; height:500px; }
.sec-project-inner__rv-media{ position:relative; display:flex; align-items:center; justify-content:center; height:500px; overflow:clip; }
.sec-project-inner__rv-img{ position:absolute; left:0; top:-100px; width:100%; height:calc(100% + 200px); object-fit:cover; object-position:center; will-change:transform; }
.sec-project-inner__rv-quote-icon{ position:absolute; top:50px; right:50px; z-index:2; width:66px; height:53px; mix-blend-mode:difference; pointer-events:none; }
.sec-project-inner__rv-body{
  position:relative; grid-column:span 2; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  height:100%; padding:50px; background:var(--grey-f2); overflow:hidden;
}
.sec-project-inner__rv-top{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; overflow:hidden; }
.sec-project-inner__rv-services,.sec-project-inner__rv-name,.sec-project-inner__rv-co{
  font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; white-space:pre; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__rv-tags{ font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; white-space:pre; color:var(--black-60); }
.sec-project-inner__rv-quote-wrap{ display:flex; flex-direction:column; gap:10px; width:100%; }
.sec-project-inner__rv-quote{ width:100%; color:var(--black); font-size:40px; font-weight:700; line-height:1.1; letter-spacing:-.05em; }
.sec-project-inner__qw{ opacity:.08; will-change:opacity; }
.sec-project-inner__rv-bottom{ display:flex; justify-content:space-between; align-items:flex-end; width:100%; }
.sec-project-inner__rv-author{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.sec-project-inner__rv-role{ display:flex; align-items:center; gap:4px; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; white-space:pre; color:var(--black); }
.sec-project-inner__rv-at{ color:var(--black-60); }
.sec-project-inner__rv-logo{ display:block; width:81px; height:auto; overflow:hidden; }

/* fact cards: spacer + 2 × (453×260, #191919, padding 40/40/20, right rule white/10%) */
.sec-project-inner__facts{ position:relative; display:flex; align-items:flex-start; justify-content:center; width:100%; }
.sec-project-inner__facts-spacer{ flex:1 0 0; width:1px; height:260px; padding:40px 40px 20px; } /* same padding as the cards: flex-basis 0 is floored at the padding box, so equal padding = equal thirds */
.sec-project-inner__fact{
  position:relative; flex:1 0 0; width:1px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  height:260px; padding:40px 40px 20px; background:var(--grey-19); color:var(--white);
}
.sec-project-inner__fact::after{ content:""; position:absolute; inset:0; border-right:1px solid var(--line-dark); pointer-events:none; }
.sec-project-inner__fact-top{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; overflow:clip; }
.sec-project-inner__dots{ display:flex; flex-direction:column; gap:4px; }
.sec-project-inner__dots div{ display:flex; gap:4px; }
.sec-project-inner__dots i{ display:block; width:2px; height:2px; background:var(--white-20); }
.sec-project-inner__fact-label,.sec-project-inner__fact-mom{
  font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; white-space:pre;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__fact-label{ color:var(--white); }
.sec-project-inner__fact-bottom{ display:flex; flex-direction:column; align-items:flex-start; overflow:clip; }
.sec-project-inner__fact-mom{ display:flex; align-items:center; gap:10px; height:19.6px; color:var(--white-30); overflow:clip; }
.sec-project-inner__fact-arrow{ display:block; flex:none; width:16px; height:16px; }
.sec-project-inner__num-wrap{ position:relative; display:flex; align-items:flex-start; height:72px; }
.sec-project-inner__num-wrap--tall{ height:75px; }
.sec-project-inner__num{
  display:inline-flex; align-items:center; color:var(--white);
  font-size:60px; font-weight:700; line-height:48px; letter-spacing:0; font-variant-numeric:tabular-nums; font-feature-settings:normal;
}
.sec-project-inner__digits{ display:inline-flex; align-items:center; }
.sec-project-inner__digit{
  position:relative; display:inline-flex; justify-content:center; width:37.2px; height:72px; overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.sec-project-inner__digit-col{ position:absolute; top:0; left:0; width:100%; will-change:transform; }
.sec-project-inner__digit-col > span{ display:flex; align-items:center; justify-content:center; height:72px; line-height:1; }
.sec-project-inner__num-suffix{ line-height:1; margin-left:4.8px; }
.sec-project-inner__num-prefix{ line-height:1; margin-right:4.8px; }

/* ===================== Next project: title (padding 150/40/100) ===================== */
.sec-project-inner__next-title{
  position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-end;
  width:100%; max-width:var(--container-max); padding:150px var(--page-pad) 100px;
}
@media (max-width:1619.98px){ .sec-project-inner__next-title{ max-width:none; } }
.sec-project-inner__next-counter{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; flex:1 0 0; width:1px; will-change:transform,opacity; }
.sec-project-inner__next-desc{ width:100%; }
.sec-project-inner__next-desc p{ white-space:pre-wrap; text-align:left; color:var(--black-70); font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; }
.sec-project-inner__next-heading{ display:flex; justify-content:space-between; align-items:flex-end; flex:2 0 0; width:1px; }
.sec-project-inner__next-h2{ width:100%; white-space:pre-wrap; color:var(--black); font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; }
.sec-project-inner__next-h2 span{ display:inline-block; will-change:transform,opacity; }

/* ===================== Next project: card block (100vh) ===================== */
.sec-project-inner__pag{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; width:100%; height:100vh; overflow:clip; }
.sec-project-inner__pag-bg{ position:absolute; inset:0; z-index:1; overflow:clip; }
.sec-project-inner__pag-bglink{ position:absolute; inset:0; z-index:1; display:block; background:var(--black); overflow:clip; }
.sec-project-inner__pag-blur{ position:absolute; inset:0; z-index:1; overflow:clip; transform:scale(1.2); } /* pre-blurred variant, no runtime blur */
.sec-project-inner__pag-blur img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.sec-project-inner__pag-shade{ position:absolute; inset:0; z-index:2; background:var(--black-30); }
.sec-project-inner__pag-bg .sec-project-inner__grain{ z-index:2; }
.sec-project-inner__pag-lines{ z-index:2; }
.sec-project-inner__pag-lines i{ display:block; height:100%; border-right:1px solid var(--line-dark); }
.sec-project-inner__pag-lines i:first-child{ border-left:1px solid var(--line-dark); }
.sec-project-inner__pag-inner{ position:relative; z-index:3; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:100%; padding:0 var(--page-pad); overflow:clip; }
.sec-project-inner__card{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; max-width:var(--container-max); color:var(--white); text-decoration:none; cursor:pointer;
}
@media (max-width:1619.98px){ .sec-project-inner__card{ max-width:none; } }
.sec-project-inner__card-meta{
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:0 0 20px;
}
.sec-project-inner__card-meta > div{ position:relative; z-index:3; display:flex; align-items:center; gap:5px; height:min-content; overflow:clip; }
.sec-project-inner__card-lbl,.sec-project-inner__card-val{
  display:inline-block; white-space:pre; font-size:12px; font-weight:500; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__card-lbl{ color:var(--white-30); }
.sec-project-inner__card-val{ color:var(--white); }
.sec-project-inner__card-image{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; height:calc(100vh * .65); overflow:clip; will-change:transform;
}
.sec-project-inner__card-scale{
  width:100%; height:100%; transform:scale(1.1); transform-origin:50% 50%;
  transition:transform .72s var(--pi-hover-ease); will-change:transform;
}
/* hover-in curve sampled on the live card (scale 1.1 → 1 / logo 0 → 1 every 80ms): .006 .035 .132 .355 .72 .88 .953 .991 1 */
.sec-project-inner__card{ --pi-hover-ease:linear(0, 0.006 11.1%, 0.035 22.2%, 0.132 33.3%, 0.355 44.4%, 0.72 55.6%, 0.88 66.7%, 0.953 77.8%, 0.991 88.9%, 1); }
.sec-project-inner__card:hover .sec-project-inner__card-scale{ transform:scale(1); }
.sec-project-inner__card-zoom{ position:relative; width:100%; height:100%; transform-origin:50% 50%; will-change:transform; }
.sec-project-inner__card-clip{ position:relative; width:100%; height:100%; overflow:hidden; }
.sec-project-inner__card-clip img{ position:absolute; left:0; top:-150px; width:100%; height:calc(100% + 300px); object-fit:cover; object-position:center; will-change:transform; }
.sec-project-inner__card-shade{ position:absolute; inset:0; z-index:1; background:var(--black); opacity:0; }
.sec-project-inner__card-logo{
  position:absolute; top:50%; left:50%; z-index:4; width:79px; height:auto; aspect-ratio:3.59091;
  mix-blend-mode:difference; opacity:0; transform:translate(-50%,-50%) scale(1.3); transform-origin:50% 50%;
  transition:transform .72s var(--pi-hover-ease),opacity .72s var(--pi-hover-ease); pointer-events:none;
}
.sec-project-inner__card-logo svg{ display:block; width:100%; height:100%; }
.sec-project-inner__card:hover .sec-project-inner__card-logo{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.sec-project-inner__card-caption{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr);
  justify-content:center; width:100%; padding:20px 0;
}
.sec-project-inner__card-spacer{ min-height:22px; }
.sec-project-inner__card-ttl-wrap{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; }
.sec-project-inner__card-ttl{
  width:min-content; overflow:clip; white-space:pre; color:var(--white);
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__card-ttl span{ display:inline-block; }
.sec-project-inner__card-tags{ display:flex; justify-content:space-between; align-items:flex-start; width:100%; height:100%; }
.sec-project-inner__card-tags ul{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:min-content; }
.sec-project-inner__card-tags li{
  display:block; width:min-content; white-space:pre; color:var(--white-30);
  font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-project-inner__card-tags li span{ display:inline-block; }

/* ===================== breakpoints (follow the live Tablet/Phone variants; not pixel-verified) ===================== */
@media (max-width:1199.98px){
  .sec-project-inner__cols,.sec-project-inner__hero-grid,.sec-project-inner__pag-lines,.sec-project-inner__hero-row,.sec-project-inner__facts-table,
  .sec-project-inner__sec,.sec-project-inner__review,.sec-project-inner__card-meta,.sec-project-inner__card-caption{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-project-inner__cols i:last-child,.sec-project-inner__hero-col:last-child,.sec-project-inner__pag-lines i:last-child,.sec-project-inner__spacer,.sec-project-inner__facts-spacer,
  .sec-project-inner__card-meta > div:first-child,.sec-project-inner__card-spacer{ display:none; }
  .sec-project-inner__hero-counter,.sec-project-inner__sub,.sec-project-inner__table,.sec-project-inner__sec-content,.sec-project-inner__rv-body{ grid-column:span 2; }
  .sec-project-inner__sec{ gap:30px; grid-template-columns:1fr; }
  .sec-project-inner__content{ gap:50px; padding-top:100px; }
  .sec-project-inner__images{ gap:50px; }
  .sec-project-inner__review{ grid-template-columns:1fr; height:auto; }
  .sec-project-inner__rv-media{ height:390px; }
  .sec-project-inner__rv-body{ grid-column:auto; padding:30px; }
  .sec-project-inner__next-title{ flex-direction:row; padding:100px var(--page-pad) 50px; }
  .sec-project-inner__card-tags{ order:1; }
  .sec-project-inner__card-ttl-wrap{ order:2; }
  .sec-project-inner__card-ttl{ width:auto; white-space:normal; }
}
@media (max-width:809.98px){
  .sec-project-inner__cols,.sec-project-inner__hero-grid,.sec-project-inner__pag-lines,.sec-project-inner__hero-row,.sec-project-inner__facts-table,
  .sec-project-inner__card-meta,.sec-project-inner__card-caption{ grid-template-columns:repeat(1,minmax(50px,1fr)); }
  .sec-project-inner__cols i:nth-child(2),.sec-project-inner__hero-col:nth-child(2),.sec-project-inner__pag-lines i:nth-child(2){ display:none; }
  .sec-project-inner__hero{ padding-bottom:100px; }
  .sec-project-inner__h1{ font-size:40px; line-height:1; }
  .sec-project-inner__sec-desc{ flex-direction:column; gap:20px; }
  .sec-project-inner__sec-col,.sec-project-inner__sec-col--wide{ width:100%; flex:none; padding:0; }
  .sec-project-inner__content{ padding-top:50px; }
  .sec-project-inner__tri{ height:400px; }
  .sec-project-inner__img{ height:240px; }
  .sec-project-inner__facts{ flex-direction:column; }
  .sec-project-inner__fact{ width:100%; flex:none; }
  .sec-project-inner__next-title{ flex-direction:column; align-items:flex-start; gap:20px; padding:50px 20px; }
  .sec-project-inner__next-counter,.sec-project-inner__next-heading{ flex:none; width:100%; }
  .sec-project-inner__next-h2{ font-size:60px; }
  .sec-project-inner__card-image{ height:calc(100vh * .45); }
}

/* MASK projects: raster client logo in the next-project card; section 2-4 bullet columns */
.sec-project-inner__card-logo img{ display:block; width:100%; height:100%; object-fit:contain; }
img.sec-project-inner__rv-logo{ width:auto; max-width:110px; height:24px; object-fit:contain; object-position:right center; filter:brightness(0); }
.sec-project-inner__card-logo{ width:auto; height:auto; aspect-ratio:auto; mix-blend-mode:normal; }
.sec-project-inner__card-logo img{ width:auto; }
img.sec-project-inner__rv-logo--color{ filter:none; }

/* touch screens have no hover: show the client logo permanently */
@media (hover:none), (pointer:coarse){
  .sec-project-inner__card-logo{ opacity:1; transform:translate(-50%,-50%) scale(1); }
}

/* ==== css/sections/34-post-content.css ==== */
/* ==========================================================================
   34 — Blog post: "Post content" (template for the 7 posts)  0 → 3481.7px @1440×900
   Measured on neiden.framer.media/blog/web-accessibility-why-it-s-non-negotiable-copy (dom.json):
   section: padding-top 44 (header), bg rgba(0,0,0,.05)
   Title (100vh, padding-bottom 200, gap 50, flex-end): counter 14 · h1 60/60 (85% wide) · subheading 44.8 + 50 + author 60.2
     cover image absolute top -90 (990 tall) + black mask rgb(15,15,15)@.4 + grain overlay@.1 + white-10 hairline columns,
     column 1 ends with the 40px #f2f2f2 date / read-time band.
   Boxed content (padding 0 40 150): sticky Info column (453.3, padding 100/100, "BACK TO ARTICLES") + Content (906.7, padding-top 100, gap 50):
     article (gap 60): lead 30/36 (scroll-scrubbed words) · 2 description columns 16/22.4 · rich text (img 2400/1600, p 17/27.2 +20, h6 18/21.6 +40)
     subscribe grid 2 cols (padding 40/30, 1px top+bottom rules) · social row (4×21px icons + "STAY CONNECTED").
   ========================================================================== */
.sec-post-content{
  position:relative; width:100%; padding-top:var(--header-h);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--black-05); color:var(--black); font-family:var(--font-sans);
}

/* ---- Title block ---- */
.sec-post-content__title{
  position:relative; width:100%; height:100vh; min-height:700px; padding:0 0 200px;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:50px; overflow:clip;
}
.sec-post-content__cover{ position:absolute; left:0; top:-90px; z-index:0; width:100%; height:calc(100% + 90px); overflow:clip; will-change:transform; transform-origin:50% 50%; }
.sec-post-content__cover-in{ position:absolute; inset:0; will-change:transform; }
.sec-post-content__cover-img{ display:block; width:100%; height:100%; object-fit:cover; }
.sec-post-content__mask{ position:absolute; inset:0; z-index:1; background:rgb(15,15,15); opacity:.4; pointer-events:none; }
.sec-post-content__noise{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.sec-post-content__noise-tile{
  position:absolute; inset:-50%; width:200%; height:200%;
  background:url("../assets/images/JEXWGoePoUiV1n4YylT8Fc37Us.webp") repeat 0 0 / 256px 256px;
  opacity:.1; mix-blend-mode:overlay; transform:translate(-6.5%,6.5%); will-change:transform; backface-visibility:hidden;
}

/* hairline column grids (dark variant over the cover, light variant behind the article) */
.sec-post-content__cols{
  position:absolute; top:0; left:0; width:100%; height:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:100%; justify-content:center;
  overflow:clip; pointer-events:none;
}
.sec-post-content__cols--dark{ z-index:2; --pc-line:var(--white-10); }
.sec-post-content__cols--light{ z-index:0; --pc-line:var(--line-light); }
.sec-post-content__col{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:50px; overflow:clip; }
.sec-post-content__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--pc-line); border-right-width:1px; pointer-events:none; }
.sec-post-content__col--1::after{ border-left-width:1px; }
.sec-post-content__label-block{ position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:40px; background:var(--grey-f2); }
.sec-post-content__label{ display:flex; align-items:center; justify-content:flex-start; gap:10px; height:12px; }
.sec-post-content__date,.sec-post-content__read{
  margin:0; white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-post-content__date{ color:var(--black-50); }
.sec-post-content__read{ color:var(--black); }
.sec-post-content__dot{ display:block; flex:none; width:4px; height:4px; border-radius:7px; background:var(--black-30); }

/* rows of the title block (3-column grid, 40px side padding) */
.sec-post-content__row{
  position:relative; width:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center;
}
.sec-post-content__row--counter,.sec-post-content__row--sub{ z-index:4; }
.sec-post-content__row--h1{ z-index:3; display:flex; flex-direction:column; align-items:flex-start; }
.sec-post-content__spacer{ position:relative; height:1px; }
.sec-post-content__counter{ grid-column:span 2; display:flex; flex-direction:column; align-items:flex-start; gap:50px; width:100%; }
.sec-post-content__counter-box{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--white); will-change:transform,opacity; }
.sec-post-content__counter-box--dark{ color:var(--black); }
.sec-post-content__icons{ display:flex; align-items:center; flex:none; width:40px; height:14px; color:var(--red); }
.sec-post-content__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-post-content__ctext{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-post-content__ctext-part{
  display:block; white-space:pre; color:inherit;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase;
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-post-content__ctext-part--link{ cursor:pointer; }
.sec-post-content__ctext-part--jp{ font-weight:500; opacity:.5; }
.sec-post-content__counter-box--dark .sec-post-content__ctext-part--jp{ opacity:.4; }

.sec-post-content__h1-wrap{ position:relative; width:85%; }
.sec-post-content__h1{
  margin:0; color:var(--white); white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word;
  font-size:60px; font-weight:600; line-height:1em; letter-spacing:-.07em; opacity:0;
}
.sec-post-content__h1.is-ready{ opacity:1; }
.sec-post-content__h1 .w{ display:inline-block; }
.sec-post-content__h1 .c{ display:inline-block; will-change:transform,opacity; }

.sec-post-content__sub{ grid-column:span 2; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:50px; width:100%; }
.sec-post-content__sub-text{ width:100%; will-change:transform,opacity; }
.sec-post-content__sub-text p{ margin:0; white-space:pre-wrap; word-break:break-word; text-align:left; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--white); }
.sec-post-content__author{ position:relative; display:flex; align-items:center; gap:20px; width:max-content; overflow:hidden; will-change:transform,opacity; }
.sec-post-content__avatar{ position:relative; flex:none; width:60px; height:60px; aspect-ratio:1; border-radius:60px; overflow:hidden; }
.sec-post-content__avatar img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-post-content__who{ display:flex; flex-direction:column; align-items:flex-start; }
.sec-post-content__name,.sec-post-content__company{ margin:0; white-space:pre; font-size:14px; font-weight:600; line-height:1.4em; letter-spacing:-.04em; color:var(--white); }
.sec-post-content__role{ display:flex; align-items:center; gap:3px; align-self:stretch; }
.sec-post-content__role p{ margin:0; white-space:pre; font-size:14px; font-weight:400; line-height:1.5em; letter-spacing:-.04em; color:var(--white-50); }

/* ---- Boxed content ---- */
.sec-post-content__box{ position:relative; width:100%; padding:0 var(--page-pad) 150px; display:flex; align-items:flex-start; justify-content:flex-start; }
.sec-post-content__info{
  position:sticky; top:0; z-index:2; flex:1 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:40px; padding:100px 0;
}
.sec-post-content__content{
  position:relative; z-index:2; flex:2 0 0; width:1px; min-width:0;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:50px; padding:100px 0 0;
}

/* back link: 17px arrow + 12px clipped label that rolls down on hover (ghost copy sits 12px above) */
.sec-post-content__back{
  position:relative; display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:17px; padding:0 40px; color:var(--black); text-decoration:none; cursor:pointer;
}
.sec-post-content__back-icon{ display:block; flex:none; width:17px; height:17px; overflow:visible; }
.sec-post-content__back-clip{ position:relative; display:flex; align-items:center; height:12px; overflow:clip; }
.sec-post-content__back-roll{ position:relative; display:block; will-change:transform; }
.sec-post-content__back-label{ display:block; }
.sec-post-content__back-label p{
  margin:0; white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-post-content__back-label--ghost{ position:absolute; top:-12px; left:0; }
.sec-post-content__back .w{ display:inline-block; will-change:transform,opacity; }

/* article */
.sec-post-content__article{ display:flex; flex-direction:column; align-items:flex-start; gap:60px; width:100%; }
.sec-post-content__lead{ width:100%; }
.sec-post-content__lead p{ margin:0; white-space:pre-wrap; word-break:break-word; font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-.06em; color:var(--black); }
.sec-post-content__lead .w{ display:inline-block; will-change:opacity; }
.sec-post-content__lead .sp{ display:inline-block; width:.25em; }
.sec-post-content__desc{ display:flex; align-items:flex-start; justify-content:flex-start; width:100%; overflow:clip; }
.sec-post-content__desc-col{ flex:1 0 0; width:1px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:0 50px 0 0; overflow:clip; }
.sec-post-content__desc-col p{ margin:0; width:100%; white-space:pre-wrap; word-break:break-word; text-align:left; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); }
.sec-post-content__body{ width:100%; white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; }
.sec-post-content__body img{ display:block; width:100%; max-width:100%; height:auto; }
.sec-post-content__body p{ margin:0; font-size:17px; font-weight:400; line-height:1.6em; letter-spacing:-.04em; color:var(--black-60); }
.sec-post-content__body h6,.sec-post-content__body h5,.sec-post-content__body h4{ margin:0; font-size:18px; font-weight:600; line-height:1.2em; letter-spacing:-.02em; color:var(--black); }
.sec-post-content__body a{ color:var(--black-90); text-decoration:underline; text-decoration-color:var(--black-20); text-underline-offset:.16em; text-decoration-thickness:.05em; }
.sec-post-content__body > :not(:first-child){ margin-top:20px; }
.sec-post-content__body > h6:not(:first-child),.sec-post-content__body > h5:not(:first-child),.sec-post-content__body > h4:not(:first-child){ margin-top:40px; }

/* subscribe block */
.sec-post-content__subscribe{
  position:relative; z-index:2; width:100%; padding:40px 0 30px;
  display:grid; grid-template-columns:repeat(2,minmax(50px,1fr)); grid-auto-rows:minmax(0,1fr); justify-content:center; overflow:clip;
}
.sec-post-content__subscribe::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-bottom-width:1px; pointer-events:none; }
.sec-post-content__sub-head{ align-self:start; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:30px; width:100%; padding:0 30px; }
.sec-post-content__sub-desc{ width:100%; }
.sec-post-content__sub-desc p{ margin:0; white-space:pre-wrap; word-break:break-word; text-align:left; font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:-.05em; color:var(--black-70); }
.sec-post-content__sub-form{ align-self:start; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; width:100%; padding:0 30px; overflow:clip; }
.sec-post-content__form{ position:relative; display:flex; align-items:flex-start; gap:0; width:100%; overflow:hidden; }
.sec-post-content__field{ display:flex; align-items:flex-start; gap:10px; flex:1 0 0; width:1px; min-width:0; }
.sec-post-content__input-wrap{
  position:relative; display:flex; align-items:center; flex:1 0 0; width:1px; height:60px;
  padding:12px 12px 12px 30px; background:var(--white); overflow:hidden;
}
.sec-post-content__input-wrap::after{ content:""; position:absolute; inset:0; pointer-events:none; border:0 solid var(--red); transition:border-width .3s cubic-bezier(.44,0,.56,1); }
.sec-post-content__input-wrap:focus-within::after{ border-width:1px; }
.sec-post-content__input{
  flex:1 1 0; width:auto; min-width:0; height:100%; margin:0; padding:0; border:0; outline:none; background:none;
  font-family:var(--font-sans); font-size:16px; font-weight:600; line-height:1.2em; letter-spacing:-.04em; color:var(--black);
  white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-feature-settings:normal;
}
.sec-post-content__input::placeholder{ color:var(--black-20); opacity:1; }
.sec-post-content__submit{
  position:relative; z-index:1; flex:none; display:flex; justify-content:center; align-items:center;
  width:60px; height:60px; margin:0; padding:0; border:0; border-radius:0; background:var(--black); color:var(--white); cursor:pointer;
}
.sec-post-content__submit-icon{ display:flex; justify-content:center; align-items:center; width:18px; height:18px; transition:transform .25s cubic-bezier(.44,0,.56,1); will-change:transform; }
.sec-post-content__submit-icon svg{ display:block; width:18px; height:18px; overflow:hidden; }
.sec-post-content__submit:hover .sec-post-content__submit-icon{ transform:rotate(45deg); }
.sec-post-content__consent{ display:flex; flex-direction:column; width:100%; }
.sec-post-content__consent p{ margin:0; white-space:pre-wrap; font-size:13px; font-weight:500; line-height:1.4em; letter-spacing:-.04em; color:var(--black-50); }
.sec-post-content__consent a{
  color:var(--black-90); text-decoration:underline; text-decoration-color:var(--black-20); text-underline-offset:.16em; text-decoration-thickness:.05em;
  transition:color .4s cubic-bezier(.44,0,.56,1), text-decoration-color .4s cubic-bezier(.44,0,.56,1);
}
.sec-post-content__consent a:hover{ color:var(--red); }

/* social row */
.sec-post-content__social{ position:relative; display:flex; align-items:center; justify-content:flex-start; gap:20px; width:max-content; }
.sec-post-content__socials{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:10px; height:21px; border-radius:46px; }
.sec-post-content__soc{ display:flex; align-items:center; justify-content:center; width:21px; height:21px; color:rgba(99,99,99,.7); cursor:pointer; }
.sec-post-content__soc svg{ display:block; width:21px; height:21px; overflow:visible; will-change:transform; transition:color .45s cubic-bezier(.25,.1,.25,1); } /* scale 1→1.4 spring driven by JS */
.sec-post-content__soc:hover svg{ color:var(--white); } /* live: the icon fades to white (same component as the dark footer) */
.sec-post-content__stay{ position:relative; z-index:1; display:flex; flex-direction:column; }
.sec-post-content__stay p{
  margin:0; white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black);
  font-feature-settings:"blwf" on,"cv03" on,"cv04" on,"cv09" on,"cv11" on,"ss07" on;
}
.sec-post-content__stay-dim{ color:#595959 !important; }

/* ---- Responsive (secondary, from the Framer rules) ---- */
@media (min-width:1620px){
  .sec-post-content__box{ max-width:var(--container-max); padding:0 0 100px; }
  .sec-post-content__row,.sec-post-content__cols{ max-width:var(--container-max); padding:0; }
  .sec-post-content__cols{ left:calc(50% - min(var(--container-max),100%)/2); }
}
@media (max-width:1199.98px){
  .sec-post-content__title{ padding:0 var(--page-pad) 200px; }
  .sec-post-content__row,.sec-post-content__cols{ grid-template-columns:repeat(2,minmax(50px,1fr)); }
  .sec-post-content__col:nth-child(3){ display:none; }
  .sec-post-content__spacer{ display:none; }
  .sec-post-content__counter,.sec-post-content__sub{ grid-column:span 2; }
  .sec-post-content__box{ flex-direction:column; }
  .sec-post-content__info{ position:relative; top:auto; order:1; flex:none; width:100%; flex-direction:row; align-items:flex-start; gap:50px; padding:50px 0 0; }
  .sec-post-content__content{ order:0; flex:none; width:100%; padding:50px 0 0; }
  .sec-post-content__article{ gap:50px; }
}
@media (max-width:809.98px){
  .sec-post-content__title{ justify-content:center; gap:30px; padding:0 var(--page-pad); }
  .sec-post-content__row,.sec-post-content__cols{ grid-template-columns:minmax(50px,1fr); }
  .sec-post-content__col:nth-child(2){ display:none; }
  .sec-post-content__counter,.sec-post-content__sub{ grid-column:span 1; }
  .sec-post-content__h1-wrap{ width:100%; }
  .sec-post-content__h1{ font-size:40px; }
  .sec-post-content__box{ padding:0 var(--page-pad) 50px; }
  .sec-post-content__desc{ flex-direction:column; gap:30px; }
  .sec-post-content__desc-col{ flex:none; width:100%; padding:0; }
  .sec-post-content__subscribe{ display:flex; flex-direction:column; align-items:flex-start; gap:30px; padding:30px; }
  .sec-post-content__sub-head,.sec-post-content__sub-form{ padding:0; }
  .sec-post-content__info{ justify-content:center; gap:70px; }
}

/* ==== css/sections/35-post-more.css ==== */
/* ==========================================================================
   35 — Blog post: "More Articles." list under an article — same component as the home "Articles." section (16), 1003.4px @1440; heading = 2 words (delays 0.3 / 0.4 measured live)
   Measured from neiden.framer.media (dom.json): section padding 0 40px, wrapper padding 0 0 150px,
   title 150/50 padding (subheading col 1, 100px h2 cols 2–3), 3 post cards 453×523.6 in a 1px-ruled
   grid (image 350 + content 40/40/60), 40px "READ ALL POSTS" button row, "UPDATED WEEKLY" 30px from bottom.
   ========================================================================== */
.sec-post-more{
  --bp-ease: cubic-bezier(.65,0,.35,1);   /* hover layout (height / offsets) */
  --bp-dur: .6s;
  --bp-fade: .55s;                         /* hover fades (opacity / blur) */
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 var(--page-pad);
  background:transparent; color:var(--black);   /* live: no section background (page white shows through) */
  overflow:clip;
}

/* ---- 3 hairline columns ---- */
.sec-post-more__cols{
  position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:0;
  width:100%; max-width:var(--container-max); height:100%; padding:0 var(--page-pad);
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); justify-content:center; overflow:clip; pointer-events:none;
}
.sec-post-more__col{ position:relative; height:100%; overflow:clip; }
.sec-post-more__col::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-right-width:1px; pointer-events:none; }
.sec-post-more__col--1::after{ border-left-width:1px; }

/* ---- Posts wrapper ---- */
.sec-post-more__wrap{
  position:relative; z-index:1; width:100%; max-width:var(--container-max);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 0 150px;
}

/* ---- Corner fact ("UPDATED WEEKLY") — mix-blend difference like the source ---- */
.sec-post-more__facts{
  position:absolute; top:0; left:0; z-index:0; width:100%; height:100%;
  display:flex; align-items:center; justify-content:center; gap:10px;
  overflow:clip; mix-blend-mode:difference; pointer-events:none;
}
.sec-post-more__fact{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:1;
  display:flex; align-items:center; justify-content:center; gap:10px; overflow:clip; mix-blend-mode:difference;
}
.sec-post-more__fact p{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--black); }
.sec-post-more__fact-dim{ color:var(--black-50); }

/* ---- Title row ---- */
.sec-post-more__title{
  position:relative; z-index:1; width:100%;
  display:flex; justify-content:space-between; align-items:flex-end; padding:150px 0 50px;
}
.sec-post-more__sub{
  flex:1 0 0; min-width:0; align-self:stretch;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:30px;
}
.sec-post-more__tag{ display:flex; align-items:center; gap:15px; width:max-content; height:14px; color:var(--black); cursor:pointer; text-decoration:none; }
.sec-post-more__icons{ display:flex; align-items:center; width:40px; height:14px; color:var(--red); }
.sec-post-more__icon{ display:block; height:14px; flex:none; overflow:visible; }
.sec-post-more__label{ display:flex; align-items:flex-end; gap:2px; height:14px; }
.sec-post-more__label-part{
  display:block; white-space:pre;
  font-size:14px; font-weight:600; line-height:14px; letter-spacing:-.04em; text-transform:uppercase; color:var(--black);
}
.sec-post-more__label-part--jp{ font-weight:500; color:var(--black-40); }
.sec-post-more__desc{ display:flex; flex-direction:column; width:100%; }
.sec-post-more__desc p{ width:100%; white-space:pre-wrap; text-align:left; font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--black-70); }

.sec-post-more__heading{ flex:2 0 0; min-width:0; display:flex; justify-content:space-between; align-items:flex-end; }
.sec-post-more__htext{ flex:1 0 0; min-width:0; display:flex; align-items:flex-start; gap:15px; overflow:clip; }
.sec-post-more__h2{ font-size:100px; font-weight:600; line-height:.8; letter-spacing:-.08em; color:var(--black); white-space:pre; }
.sec-post-more__h2-in{ display:inline-block; }

/* ---- Posts (1px ruled box) ---- */
.sec-post-more__posts{
  position:relative; z-index:1; width:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px;
  padding:1px 0 0 1px; overflow:clip;
}
.sec-post-more__posts::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-top-width:1px; border-bottom-width:1px; pointer-events:none; }
.sec-post-more__grid{
  position:relative; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-auto-rows:min-content; justify-content:center; gap:0;
}
/* diagonal cut on the first image: 63×63 triangle in the section colour (source: rotated svg) */
.sec-post-more__corner{
  position:absolute; top:0; left:0; z-index:3; width:63px; height:63px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 63 63'%3E%3Cpath d='M0 0H63L0 63Z' fill='%23ffffff'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
}

/* ---- Card ---- */
.sec-post-more__card{
  position:relative; display:flex; align-items:flex-start; justify-content:flex-start; gap:10px;
  width:100%; min-width:0; color:var(--black); cursor:pointer; text-decoration:none;
}
.sec-post-more__post{ position:relative; display:flex; flex-direction:column; align-items:flex-start; width:100%; overflow:hidden; }
.sec-post-more__media{ position:relative; display:flex; align-items:flex-start; gap:10px; width:100%; }
.sec-post-more__imgbox{
  position:relative; z-index:2; flex:1 0 0; min-width:0; height:350px; overflow:hidden;
  display:flex; align-items:flex-start; justify-content:center;
  transition:height var(--bp-dur) var(--bp-ease);
}
.sec-post-more__img{ position:absolute; z-index:1; top:calc(50% - 175px); left:0; width:100%; height:350px; overflow:hidden; }
.sec-post-more__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; }

.sec-post-more__content{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  width:100%; padding:40px 40px 60px; border-radius:10px; overflow:hidden;
}
.sec-post-more__inner{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; }
/* meta row is absolutely placed (like the hover variant) and the 32px it occupies is padding that collapses on hover */
.sec-post-more__main{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; width:100%; padding-top:32px;
  transition:padding-top var(--bp-dur) var(--bp-ease);
}
.sec-post-more__meta{
  position:absolute; top:0; left:0; z-index:1; display:flex; align-items:center; gap:10px; width:100%; height:12px;
  transition:top var(--bp-dur) var(--bp-ease), opacity var(--bp-fade) var(--bp-ease), filter var(--bp-fade) var(--bp-ease);
}
.sec-post-more__date,.sec-post-more__read{ white-space:pre; font-size:12px; font-weight:600; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; }
.sec-post-more__date{ color:var(--black-50); }
.sec-post-more__read{ color:var(--black); }
.sec-post-more__dot{ display:block; flex:none; width:4px; height:4px; border-radius:7px; background:var(--black-30); }
.sec-post-more__ttl{ display:flex; align-items:flex-start; gap:10px; width:70%; overflow:hidden; }
.sec-post-more__ttl p{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; width:100%; overflow:clip;
  white-space:pre-line; word-break:break-word; overflow-wrap:break-word;
  font-size:16px; font-weight:700; line-height:1.3; letter-spacing:-.05em; color:var(--black);
}
.sec-post-more__more-wrap{ display:grid; grid-template-rows:0fr; width:100%; padding-top:0; transition:grid-template-rows var(--bp-dur) var(--bp-ease), padding-top var(--bp-dur) var(--bp-ease); }
.sec-post-more__more{
  position:relative; z-index:0; display:flex; flex-direction:column; align-items:center; gap:30px; width:100%; min-height:0;
  opacity:0; filter:blur(8px);
  transition:opacity var(--bp-fade) var(--bp-ease), filter var(--bp-fade) var(--bp-ease);
}
.sec-post-more__excerpt{ display:flex; flex-direction:column; align-items:flex-start; gap:70px; width:100%; overflow:hidden; }
.sec-post-more__excerpt p{ width:100%; white-space:pre-wrap; word-break:break-word; overflow-wrap:break-word; text-align:left; font-size:16px; font-weight:400; line-height:1.4; letter-spacing:-.05em; color:var(--black-70); }
.sec-post-more__author{ display:flex; justify-content:space-between; align-items:center; width:100%; }
.sec-post-more__by{ display:flex; align-items:center; gap:10px; }
.sec-post-more__avatar{ position:relative; flex:none; width:40px; height:40px; aspect-ratio:1; border-radius:25px; overflow:hidden; }
.sec-post-more__avatar img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.sec-post-more__who{ display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; }
.sec-post-more__kind{ display:flex; align-items:center; justify-content:center; gap:3px; }
.sec-post-more__kind p{ white-space:pre; font-size:14px; font-weight:400; line-height:1.5; letter-spacing:-.04em; color:var(--black); }
.sec-post-more__kind-dim{ color:var(--black-50) !important; }
.sec-post-more__name{ white-space:pre; font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.04em; color:var(--black); }

/* hover: image box collapses to 247px, meta fades/blurs out (and sits 20px above the title), excerpt + author fade in */
.sec-post-more__card:hover .sec-post-more__imgbox{ height:247px; }
.sec-post-more__card:hover .sec-post-more__main{ padding-top:0; }
.sec-post-more__card:hover .sec-post-more__meta{
  top:-20px; opacity:0; filter:blur(7px);
  transition:top var(--bp-dur) var(--bp-ease), opacity .5s var(--bp-ease) .1s, filter .5s var(--bp-ease) .1s;
}
.sec-post-more__card:hover .sec-post-more__more-wrap{ grid-template-rows:1fr; padding-top:20px; }
.sec-post-more__card:hover .sec-post-more__more{
  z-index:1; opacity:1; filter:blur(0);
  transition:opacity .5s var(--bp-ease) .1s, filter .5s var(--bp-ease) .1s;
}

/* ---- Button row ---- */
.sec-post-more__cta-row{
  position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:repeat(3,minmax(50px,1fr)); grid-template-rows:minmax(0,1fr); justify-content:center; gap:0;
}
.sec-post-more__cta-row::after{ content:""; position:absolute; inset:0; border:0 solid var(--line-light); border-bottom-width:1px; pointer-events:none; }
.sec-post-more__spacer{ position:relative; height:100%; overflow:clip; }
.sec-post-more__spacer::after{ content:""; position:absolute; inset:0; border:0 solid rgba(255,255,255,.15); border-right-width:1px; pointer-events:none; }
.sec-post-more__cta{
  position:relative; display:flex; align-items:center; justify-content:space-between;
  width:100%; height:40px; overflow:clip; cursor:pointer;
}
.sec-post-more__btn{
  position:relative; display:flex; flex:1 0 0; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  height:60px; background:var(--black); color:var(--white); text-decoration:none;
  transition:background-color .74s cubic-bezier(.25,.5,.24,1);       /* leave: measured on the live site (slow spring, ~0.6s) */
}
.sec-post-more__btn-label{
  position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  height:12px; overflow:clip; pointer-events:none; user-select:none;
}
.sec-post-more__btn-label p{ white-space:pre; font-size:12px; font-weight:700; line-height:12px; letter-spacing:-.02em; text-transform:uppercase; color:var(--white); }
.sec-post-more__w{ white-space:nowrap; }
.sec-post-more__ch{ display:inline-block; will-change:transform; }
.sec-post-more__plus{
  position:absolute; top:20px; right:20px; z-index:1; width:20px; height:20px; aspect-ratio:1; pointer-events:none; user-select:none;
  background:var(--white);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M 7.5 0 L 7.5 15 M 15 7.5 L 0 7.5' fill='transparent' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' transform='translate(4.5 4.5)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transition:transform .51s cubic-bezier(.3,.86,.33,1);              /* leave: live spring ω≈15 */
}
/* hover (curves fitted to rAF samples of the live site): black → red in ~0.44s (exponential-like),
   plus spins -180° (counter-clockwise) with a ~0.5s spring, letters jump 15px up out of the clipped label
   and drop back in one by one (30ms stagger, 120ms ease). On leave they jump 15px down and rise back in. */
.sec-post-more__cta:hover .sec-post-more__btn{ background:var(--red); transition:background-color .44s cubic-bezier(.2,.98,.49,1); }
.sec-post-more__cta:hover .sec-post-more__plus{ transform:rotate(-180deg); transition:transform .48s cubic-bezier(.29,.66,.25,1); }
@keyframes sec-post-more-ch-in{ from{ transform:translateY(-15px); } to{ transform:translateY(0); } }
@keyframes sec-post-more-ch-out{ from{ transform:translateY(15px); } to{ transform:translateY(0); } }
.sec-post-more__cta--in .sec-post-more__ch{ animation:sec-post-more-ch-in .12s ease both; animation-delay:calc(45ms + var(--i) * 30ms); }
.sec-post-more__cta--out .sec-post-more__ch{ animation:sec-post-more-ch-out .12s ease both; animation-delay:calc(var(--i) * 30ms); }

/* ---- Responsive (secondary) ---- */
@media (min-width:1620px){
  .sec-post-more{ padding:0; }
  .sec-post-more__cols{ padding:0; }
  .sec-post-more__wrap{ padding:0 0 200px; }
  .sec-post-more__title{ align-items:center; padding:200px 0 100px; }
  .sec-post-more__sub{ gap:40px; }
}
@media (min-width:810px) and (max-width:1199.98px){
  .sec-post-more__wrap{ padding:0 0 120px; }
  .sec-post-more__title{ align-items:flex-start; padding:100px 0 50px; }
  .sec-post-more__sub{ align-self:auto; gap:30px; }
  .sec-post-more__heading{ flex:1 0 0; }
}
@media (max-width:809.98px){
  .sec-post-more__wrap{ padding:0; }
  .sec-post-more__title{ flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:20px; padding:100px 0 50px; }
  .sec-post-more__sub,.sec-post-more__heading{ flex:none; width:100%; align-self:auto; gap:20px; }
  .sec-post-more__h2{ font-size:60px; }
  .sec-post-more__posts{ padding:1px 1px 30px; }
  .sec-post-more__grid{ grid-template-columns:minmax(50px,1fr); }
  .sec-post-more__cta-row{ grid-template-columns:1fr; }
  .sec-post-more__spacer{ display:none; }
  .sec-post-more__cols{ grid-template-columns:1fr; }
  .sec-post-more__col--2,.sec-post-more__col--3{ display:none; }
}
