@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}._61yqxG_className{font-family:Montserrat,Montserrat Fallback;font-style:normal}._61yqxG_variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e9ed0bc71a38d6c1-s.p.2m2jj329378-j.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7062a58b1da0e8a4-s.1hwnmpdlfbr5r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3d0c37763e1ee3aa-s.436q8r5--eamd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a19976a16d351e92-s.41_1bbhnqcn3l.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3836391c10060ce4-s.p.2ub5ob4yff_mt.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f35096588af3ac65-s.1mcy67zyrjken.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4ef4c2244410ddd5-s.1q60sed-n-nyg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarabun;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6281857f0573b169-s.2ggoighzpvw-e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a0529e96a7862c0d-s.p.3w1e23hf7mhof.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e1a185165aeb6b39-s.3_tzb9xzdxfhl.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(../media/aa5e8dae0d902b15-s.3sa03-u70a6zc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarabun;font-style:normal;font-weight:600;font-display:swap;src:url(../media/22d7e241aeb09639-s.33ndw2snxq3le.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0bbfe7d70ca362ab-s.p.18qb6f14hcpif.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c9e7701bc8b3db09-s.2ckknpajidhx6.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe9c9076d1cdc5cf-s.1kljupmg-52kq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sarabun;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bcc136e7df79ae49-s.3vvwmya0_3z_s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sarabun Fallback;src:local(Arial);ascent-override:109.45%;descent-override:23.78%;line-gap-override:0.0%;size-adjust:97.58%}.HsA7zq_className{font-family:Sarabun,Sarabun Fallback;font-style:normal}.HsA7zq_variable{--font-thai:"Sarabun", "Sarabun Fallback"}
:root{--bg:#fff;--bg-2:#f4f7fb;--ink:#122033;--muted:#5c6b7a;--line:#1220331f;--blue:#3854a5;--navy:#1b2d66;--yellow:var(--blue);--yellow-ink:#fff;--header:84px;--wrap:1120px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-montserrat), var(--font-thai), "Sarabun", sans-serif;margin:0;line-height:1.65}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.02em;line-height:1.2}:lang(th) h1,:lang(th) h2,:lang(th) h3,:lang(th) .about-quote,:lang(th) .project-list-main strong{letter-spacing:0}.wrap{width:min(var(--wrap), calc(100% - 40px));margin:0 auto}.narrow{width:min(820px,100% - 40px)}.sr-only,.skip-link:not(:focus){clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:50;clip:auto;background:var(--yellow);width:auto;height:auto;color:var(--yellow-ink);margin:0;padding:8px 12px;position:fixed;top:12px;left:12px}.site-header{z-index:40;height:var(--header);color:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#0c183033;border-bottom:1px solid #ffffff1f;transition:background-color .22s,box-shadow .22s,border-color .22s;position:fixed;inset:0 0 auto}.site-header:not(.is-sticky):not(.menu-open) .brand,.site-header:not(.is-sticky):not(.menu-open) .menu-item,.site-header:not(.is-sticky):not(.menu-open) .lang-switch{text-shadow:0 1px 2px #000000d9,0 0 8px #00000059}.site-header.is-sticky,.site-header.menu-open{background-color:var(--navy);border-bottom-color:#00000059;box-shadow:0 8px 22px #00000038}.header-inner{justify-content:space-between;align-items:center;gap:16px;width:min(1200px,100% - 32px);height:100%;margin:0 auto;display:flex}.brand{letter-spacing:.12em;color:inherit;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand img{object-fit:contain;width:54px;height:36px}.logo-on-light{display:none}.header-tools{align-items:center;gap:8px;display:flex}.desktop-menu{flex-shrink:0;align-items:center;gap:clamp(4px,1.2vw,16px);display:flex}.menu-item{appearance:none;color:inherit;font:inherit;letter-spacing:.04em;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:10px 12px;font-size:.92rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative}.menu-item:after{content:"";opacity:0;transform-origin:50%;background:#ff6a00;border-radius:99px;height:2px;transition:opacity .36s cubic-bezier(.22,.61,.36,1),transform .48s cubic-bezier(.16,1,.3,1);position:absolute;bottom:2px;left:12px;right:12px;transform:scaleX(0)}.menu-item:hover:after,.menu-item.is-active:after{opacity:1;transform:scaleX(1)}.nav-drop{position:relative}.nav-drop-panel{background:var(--navy);border:1px solid #00000047;border-radius:0;min-width:230px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 40px #00000047}.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel,.nav-drop.is-open .nav-drop-panel{display:grid}.nav-drop-panel a{color:#f4f7ff;letter-spacing:0;border-radius:0;padding:10px 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.nav-drop-panel a:hover{background:#ff6a0029}.menu-toggle{width:44px;height:44px;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:0;justify-content:center;align-items:center;padding:0;display:none}.menu-toggle__bars{width:18px;height:12px;display:block;position:relative}.menu-toggle__bar{background:#fff;border-radius:99px;width:100%;height:2px;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .16s,top .28s;position:absolute;left:0}.menu-toggle__bar:first-child{top:0}.menu-toggle__bar:nth-child(2){width:68%;top:50%;transform:translateY(-50%)}.menu-toggle__bar:nth-child(3){bottom:0}.site-header.menu-open .menu-toggle__bar:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.site-header.menu-open .menu-toggle__bar:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle__bar:nth-child(3){top:50%;bottom:auto;transform:translateY(-50%)rotate(-45deg)}.lang-switch{letter-spacing:.08em;align-items:center;gap:6px;margin-left:8px;font-size:.72rem;font-weight:700;display:inline-flex}.lang-switch a{color:#ffffffbf;text-decoration:none}.lang-switch a.is-active{color:#ff6a00}.lang-switch span{color:#ffffff73}.mobile-sheet{display:none}.hero,.page-hero{color:#fff;background:#050506;align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.page-hero.is-bright{background:#f4f6f8}.page-hero.is-bright .hero-shade{background:linear-gradient(#060c1805 0%,#060c1800 48%,#060c1857 100%),linear-gradient(90deg,#060c1875 0%,#060c181a 28%,#060c1800 52%)}.hero-slide,.page-hero-media{background-size:cover;background-position:var(--hero-pos,center);opacity:0;background-repeat:no-repeat;transition:opacity 1.1s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.hero-slide{filter:brightness(1.28)contrast(1.05)saturate(1.06)}.hero-slide.is-active{opacity:1;z-index:2}.page-hero-media{opacity:1}.hero-slideshow,.hero-overlay{position:absolute;inset:0}.hero-slideshow{z-index:0;background:#050506}.hero-overlay{z-index:1;pointer-events:none;background:linear-gradient(#060c1829 0%,#060c1805 46%,#060c186b 100%),linear-gradient(90deg,#060c185c 0%,#060c180f 36%,#060c1800 62%)}.hero-shade{background:linear-gradient(#060c1833 0%,#060c1814 46%,#060c189e 100%),linear-gradient(90deg,#060c189e 0%,#060c1838 48%,#060c1814 100%);position:absolute;inset:0}.page-hero.is-soft .hero-shade{background:linear-gradient(#060c1800 0% 58%,#060c186b 100%)}.home-hero{align-items:flex-end}.home-hero .hero-copy{z-index:2;width:min(1120px,100% - 120px);max-width:none;margin:0 auto;padding:0 0 76px;position:relative}.home-copy-title{letter-spacing:0;color:#ff6a00;text-shadow:0 2px #14080059,0 10px 28px #0000008c;opacity:0;max-width:min(14em,100%);margin:0;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:700;line-height:1.05;animation:.72s cubic-bezier(.16,1,.3,1) forwards coverWordIn;transform:translateY(1.05em)}.home-copy-body{letter-spacing:.01em;color:#fff;text-shadow:0 2px 10px #000000a6,0 12px 28px #00000073;max-width:100%;margin:18px 0 0;font-size:clamp(1.08rem,1.7vw,1.45rem);font-weight:600;line-height:1.55}.home-copy-title.is-long{max-width:min(18em,100%);font-size:clamp(1.85rem,4.4vw,3.5rem)}.cover-line{opacity:0;text-shadow:0 2px 10px #000000b3,0 12px 28px #00000073;animation:.78s cubic-bezier(.16,1,.3,1) forwards coverLineIn;display:block;transform:translateY(.7em)}.subtitle-accent{color:#fff;font-weight:600}@keyframes coverWordIn{to{opacity:1;transform:none}}@keyframes coverLineIn{to{opacity:1;transform:none}}.hero-nav{z-index:3;color:#fff;cursor:pointer;background:#08101c57;border:1px solid #ffffff38;border-radius:0;justify-content:center;align-items:center;width:54px;height:54px;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-nav:hover,.hero-nav:focus-visible{color:#fff;background:#ff6a00;border-color:#ff6a00}.hero-nav--prev{left:18px}.hero-nav--next{right:18px}.hero-nav svg{stroke:currentColor;stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.home-hero .hero-dots{gap:6px;bottom:28px;left:50%;right:auto;transform:translate(-50%)}.hero-dot{cursor:pointer;background:0 0;border:0;border-radius:999px;width:24px;height:24px;padding:0;position:relative}.hero-dot:before{content:"";background:#ffffff59;border-radius:999px;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-dot.is-active:before{background:var(--yellow);transform:translate(-50%,-50%)scale(1.25)}.hero-copy,.page-hero-copy{z-index:1;max-width:760px;padding:0 0 88px;position:relative}.page-hero-copy{width:min(1120px,100% - 80px);max-width:none;margin-inline:auto;padding-bottom:40px}.page-hero-crumbs{z-index:2;top:calc(var(--header) + 22px);width:min(1120px,100% - 80px);margin-inline:auto;position:absolute;left:0;right:0}.crumbs{margin:0}.crumbs ol{flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;font-size:13px;line-height:1.4;list-style:none;display:flex}.crumbs li{align-items:center;gap:10px;display:inline-flex}.crumbs li+li:before{content:"";border-top:1.5px solid #ff6a00;border-right:1.5px solid #ff6a00;width:6px;height:6px;transform:rotate(45deg)}.crumbs a{color:#ffffffc7;text-decoration:none}.crumbs a:hover{color:#fff}.crumbs [aria-current=page]{color:#fff;font-weight:600}.page-hero .kicker{color:#ff6a00;margin-bottom:8px}.page-hero h1{text-wrap:balance;text-shadow:0 8px 24px #00000059;max-width:16em;margin-bottom:14px;font-size:clamp(32px,4.2vw,54px);font-weight:700;line-height:1.2}.page-hero .lede{color:#ffffffeb;text-wrap:balance;max-width:40em;margin-bottom:0;font-size:1.05rem;line-height:1.7}.page-hero.is-display .hero-shade{background:linear-gradient(#060c1829 0%,#060c1805 46%,#060c186b 100%),linear-gradient(90deg,#060c185c 0%,#060c180f 36%,#060c1800 62%)}.page-hero.is-display .page-hero-media{filter:brightness(1.16)contrast(1.04)saturate(1.05)}.page-hero.is-display .page-hero-copy{width:min(1120px,100% - 120px);padding-bottom:76px}.page-hero.is-display .kicker{color:#fff;letter-spacing:.18em;text-shadow:0 2px 10px #0000008c;margin-bottom:28px}.page-hero.is-display h1{color:#ff6a00;letter-spacing:0;text-shadow:0 2px #14080059,0 10px 28px #0000008c;opacity:0;max-width:none;margin:0;padding-top:.42em;font-size:clamp(3.4rem,7.2vw,6rem);font-weight:700;line-height:1.15;animation:.72s cubic-bezier(.16,1,.3,1) forwards coverWordIn;transform:translateY(.45em)}.page-hero.is-display h1.is-long{max-width:14em;padding-top:.2em;font-size:clamp(2.05rem,4.6vw,3.55rem);line-height:1.55}.page-hero.is-display .lede{color:#fff;text-shadow:0 2px 10px #000000a6,0 12px 28px #00000073;opacity:0;max-width:42em;margin:16px 0 0;font-size:clamp(1.08rem,1.7vw,1.45rem);font-weight:600;line-height:1.45;animation:.78s cubic-bezier(.16,1,.3,1) .12s forwards coverLineIn;transform:translateY(.7em)}.kicker{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:600}.hero h1{margin-bottom:12px;font-size:clamp(40px,6vw,72px)}.lede,.lead{max-width:62ch;font-size:1.15rem}.hero-actions,.contact-actions,.cta-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.hero-dots{z-index:1;gap:8px;display:flex;position:absolute;bottom:36px;right:28px}.hero-dots button{cursor:pointer;background:#ffffff59;border:0;width:34px;height:4px;padding:0}.hero-dots button.is-active{background:var(--yellow)}.home-hero .hero-dots .hero-dot{background:0 0;width:24px;height:24px}.home-hero .hero-dots .hero-dot.is-active{background:0 0}.btn{border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn-yellow{background:var(--blue);color:#fff}.btn-ghost{border-color:var(--blue);color:var(--blue)}.hero .btn-ghost,.page-hero .btn-ghost{color:#fff;border-color:#ffffffb3}.hero .btn{background-position:0;background-repeat:no-repeat;background-size:0% 100%;min-width:148px;padding-inline:22px;transition:background-size .32s cubic-bezier(.22,1,.36,1),color .2s,border-color .2s,transform .2s,box-shadow .2s}.hero .btn-yellow{background-color:var(--blue);background-image:linear-gradient(#ff6a00,#ff6a00);box-shadow:0 10px 22px #060e2038}.hero .btn-ghost{background-image:linear-gradient(#fff,#fff)}.hero .btn-yellow:hover,.hero .btn-yellow:focus-visible{color:#fff;background-size:100% 100%;transform:translateY(-3px);box-shadow:0 16px 28px #ff6a0057}.hero .btn-ghost:hover,.hero .btn-ghost:focus-visible{color:var(--navy);background-size:100% 100%;border-color:#fff;transform:translateY(-3px)}.hero .btn:active{transform:translateY(0)}.hero .kicker{color:#d5e2ff}.page-hero .kicker{color:#ff6a00}.section-light .btn-ghost,.frame-light+.line-card{color:inherit}.section{padding:88px 0}.section-tight{padding-top:0}.section-head{max-width:680px;margin-bottom:32px}.section-head-row{justify-content:space-between;align-items:end;gap:20px;max-width:none;display:flex}.section h2{margin-bottom:10px;font-size:clamp(30px,4vw,46px)}.muted{color:var(--muted)}.text-link{color:var(--yellow);font-weight:600}.service-grid,.project-grid,.gallery,.logo-grid{gap:16px;display:grid}.service-grid{grid-template-columns:repeat(4,1fr);gap:22px}.services-band{background:linear-gradient(#f4f7fb 0%,#fff 220px)}.services-head{max-width:none;margin-bottom:40px}.services-head h2{margin-bottom:0}.services-head .kicker{align-items:center;gap:12px;display:flex}.services-head .kicker:before{content:"";background:#ff6a00;width:32px;height:2px}.service-card{background:#fff;border:1px solid #12203314;border-radius:0;min-height:100%;padding:0;transition:transform .46s cubic-bezier(.22,1,.36,1),box-shadow .46s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;box-shadow:0 14px 34px #1220330d}.service-card:before{content:"";z-index:2;transform-origin:0;background:#ff6a00;height:3px;transition:transform .48s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover,.service-card:focus-within{transform:translateY(-10px);box-shadow:0 28px 54px #12203329}.service-card:hover:before,.service-card:focus-within:before{transform:scaleX(1)}.service-card a{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.service-card-media{aspect-ratio:5/4;background:var(--navy);position:relative;overflow:hidden}.service-card-media:after{content:"";background:linear-gradient(#08102000 42%,#0810209e 100%);transition:opacity .46s;position:absolute;inset:0}.service-card:hover .service-card-media:after,.service-card:focus-within .service-card-media:after{opacity:.55}.service-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .72s cubic-bezier(.22,1,.36,1);transform:scale(1)}.service-card:hover .service-card-media img,.service-card:focus-within .service-card-media img{transform:scale(1.08)}.service-index{z-index:1;color:#fff;letter-spacing:.18em;margin:0;font-size:13px;font-weight:700;transition:transform .46s cubic-bezier(.22,1,.36,1);position:absolute;bottom:12px;left:16px}.service-card:hover .service-index,.service-card:focus-within .service-index{transform:translateY(-6px)}.service-card-body{flex-direction:column;flex:1;padding:20px 20px 22px;display:flex}.service-card h3{margin-bottom:4px;font-size:1.28rem;transition:color .32s}.service-card:hover h3,.service-card:focus-within h3{color:var(--navy)}.service-th{color:var(--blue);margin-bottom:10px;font-size:.92rem;font-weight:600}.service-summary{color:#243044;margin:0;font-size:.95rem}.service-more{color:var(--navy);align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-size:.92rem;font-weight:700;transition:color .32s,gap .32s;display:inline-flex}.service-card:hover .service-more,.service-card:focus-within .service-more{color:#ff6a00;gap:14px}.service-more svg{stroke:currentColor;stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .32s cubic-bezier(.22,1,.36,1)}.service-card:hover .service-more svg,.service-card:focus-within .service-more svg{transform:translate(4px)}.project-card,.vision-grid article{background:var(--bg-2);border:1px solid var(--line);border-radius:0;min-height:100%;padding:22px}.project-card h3{margin-bottom:6px;font-size:22px}.project-card .text-link{color:var(--yellow);margin-top:12px;display:inline-block}.about-band{color:#f4f7ff;background:#fff;overflow:hidden}.about-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,520px);max-width:1440px;min-height:640px;margin:0 auto;display:grid}.about-photo{min-height:100%;margin:0}.about-photo img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:520px}.about-copy{background:var(--navy);flex-direction:column;justify-content:center;padding:72px 56px;display:flex;position:relative}.about-copy:after{content:"";background:var(--navy);width:100vw;position:absolute;top:0;bottom:0;left:100%}.about-copy .kicker{color:#ffffffb8;align-items:center;gap:12px;margin-bottom:14px;display:flex}.about-copy .kicker:before{content:"";background:#ff6a00;width:28px;height:2px}.about-copy h2{color:#fff;letter-spacing:-.03em;margin-bottom:18px;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:500}.about-quote{white-space:pre-line;color:#fff;letter-spacing:-.02em;margin:0 0 18px;font-size:1.35rem;font-weight:500;line-height:1.4}.about-body{color:#c5d0e6;margin:0;font-size:.98rem;line-height:1.85}.about-more{color:#fff;border:1px solid #ff6a00;border-radius:0;align-self:flex-start;align-items:center;gap:10px;margin-top:32px;padding:12px 20px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.about-more svg{stroke:currentColor;stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .2s}.about-more:hover{color:#fff;background:#ff6a00;border-color:#ff6a00}.about-more:hover svg{transform:translate(4px)}.split,.prose-grid,.contact-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:36px;display:grid}.prose-grid{align-items:start}.frame{border:1px solid var(--line);border-radius:0;margin:0;overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%;min-height:280px}.frame-light{background:#fff}.frame-light img{object-fit:contain;background:#fff;min-height:220px}.frame figcaption{color:#243044;background:#fff;padding:10px 12px}.projects-band{background:#fff;padding:96px 0 72px}.projects-head{justify-content:space-between;align-items:end;gap:24px;max-width:none;margin-bottom:28px;display:flex}.projects-head h2{margin-bottom:0;font-weight:500}.projects-head .kicker{align-items:center;gap:12px;display:flex}.projects-head .kicker:before{content:"";background:#ff6a00;width:32px;height:2px}.projects-all{color:var(--navy);white-space:nowrap;align-items:center;gap:8px;margin-bottom:6px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.projects-all svg,.project-list svg{stroke:#ff6a00;stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .2s}.projects-all:hover svg,.project-list a:hover svg{transform:translate(4px)}.project-list{border-top:1px solid #1220331f;margin:0;padding:0;list-style:none}.project-list a{color:inherit;border-bottom:1px solid #1220331f;grid-template-columns:48px minmax(0,1.35fr) minmax(180px,.8fr) 18px;align-items:center;gap:8px 28px;padding:22px 8px;text-decoration:none;transition:background-color .2s;display:grid}.project-list a:hover{background:#f6f8fb}.project-list-index{color:#ff6a00;letter-spacing:.14em;font-size:.82rem;font-weight:700}.project-list-main strong{letter-spacing:0;font-size:1.05rem;font-weight:600;display:block}.project-list li:first-child .project-list-main strong{font-size:1.35rem;font-weight:500}.project-archive li:first-child .project-list-main strong{font-size:1.05rem;font-weight:600}.project-list-main em{color:var(--muted);margin-top:4px;font-size:.92rem;font-style:normal;display:block}.project-list-meta{text-align:right;justify-items:end;gap:2px;font-size:.92rem;font-weight:600;display:grid}.project-list-meta span:first-child{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card h3 a{text-decoration:none}.project-card h3 a:hover{color:var(--yellow)}.project-period{color:var(--yellow);margin-bottom:8px;font-size:14px}.project-name{font-weight:600}.project-card dl,.fact-list{margin:14px 0}.project-card dl div,.fact-list div{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:10px;padding:8px 0;display:grid}.project-card dt,.fact-list dt{color:var(--muted)}.project-card dd,.fact-list dd{margin:0}.section-light{color:#172033;background:#f4f6f8}.section-light .kicker{color:var(--blue)}.logo-grid{grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none}.logo-grid li{background:#fff;border-radius:0;place-items:center;min-height:92px;padding:12px;display:grid}.logo-grid img{object-fit:contain;width:auto;max-height:58px}.customer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.customer-grid li{background:#fff;border:1px solid #12203314;place-items:center;min-height:128px;padding:18px;display:grid}.customer-grid img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72px}.logo-marquee{gap:14px;margin-top:8px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.logo-row{overflow:hidden}.logo-track{width:max-content;animation:48s linear infinite logoMarquee;display:flex}.logo-track.is-reverse{animation-direction:reverse}.logo-marquee:hover .logo-track{animation-play-state:paused}.logo-track figure{background:#fff;border:1px solid #12203314;border-radius:0;flex:none;place-items:center;width:168px;height:92px;margin:0 14px 0 0;padding:12px 16px;display:grid}.logo-track img{object-fit:contain;width:auto;max-width:100%;max-height:52px}@keyframes logoMarquee{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.cta-band{color:#172033;background:#fff;border-block:0}.cta-copy{text-align:center;margin-inline:auto}.cta-copy .kicker{justify-content:center;align-items:center;gap:12px;display:flex}.cta-copy .kicker:before{content:"";background:#ff6a00;width:32px;height:2px}.cta-copy h2{margin-bottom:12px;font-weight:500}.cta-copy p:last-of-type{color:#5c6b82;white-space:nowrap;margin-bottom:0}.cta-band .cta-actions{grid-template-columns:1fr 1fr;width:max-content;max-width:100%;margin-inline:auto;display:inline-grid}.cta-band .cta-actions .btn{width:100%}.cta-call{color:#fff;background:#ff6a00;border:1px solid #ff6a00;transition:background .18s,border-color .18s}.cta-call svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;stroke-linecap:round;width:20px;height:20px}.cta-call:hover{background:#e55f00;border-color:#e55f00}.cta-band .btn-ghost{border-color:var(--navy);color:var(--navy)}.cta-band .btn-ghost:hover{color:#ff6a00;border-color:#ff6a00}.service-lead{color:#243044;max-width:68ch}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;margin-top:40px;display:grid}.topic-card{border:1px solid var(--line);min-width:0;height:100%;color:inherit;background:#fff;border-radius:0;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 8px 24px #1020400d}.topic-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #1020401a}.topic-card-media{aspect-ratio:16/10;background:#f4f6f8;display:block;overflow:hidden}.topic-card-media img{object-fit:cover;object-position:center;width:100%;height:100%}.topic-card-body{flex-direction:column;flex:1;gap:8px;padding:18px 18px 20px;display:flex}.topic-card h2{color:var(--navy);margin:0;font-size:1.12rem;font-weight:600;line-height:1.35}.topic-card p{color:#243044;margin:0;line-height:1.55}.topic-card-more{color:#ff6a00;margin-top:auto;padding-top:8px;font-weight:600}.topic-grid+.contact-actions{margin-top:48px}.service-parts{gap:0;margin-top:48px;display:grid}.service-parts+.contact-actions{margin-top:56px}.service-part{border-top:1px solid var(--line);gap:22px;padding:36px 0 40px;display:grid}.service-part.is-text{max-width:68ch}.service-part-copy h2{color:var(--navy);align-items:center;gap:12px;margin-bottom:10px;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:600;display:flex}.service-part-copy h2:before{content:"";background:#ff6a00;flex:none;width:32px;height:2px}.service-part-copy p{color:#243044;max-width:68ch;margin:0;font-size:1.05rem;line-height:1.75}.service-part-media{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.service-photo{aspect-ratio:4/3;cursor:zoom-in;background:#f4f6f8;border:0;border-radius:0;width:100%;margin:0;padding:0;display:block;overflow:hidden}.service-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.photo-lightbox{background:0 0;border:0;width:min(1100px,100% - 48px);max-width:none;max-height:none;padding:0;overflow:visible}.photo-lightbox::backdrop{background:#060c18e0}.photo-lightbox img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:86vh;margin:0 auto}.photo-lightbox-close,.photo-lightbox-nav{z-index:2;color:var(--navy);cursor:pointer;background:#fffffff0;border:0;position:fixed}.photo-lightbox-close{border-radius:0;place-items:center;width:44px;height:44px;padding:0;display:grid;top:18px;right:18px}.photo-lightbox-x{width:16px;height:16px;position:relative}.photo-lightbox-x:before,.photo-lightbox-x:after{content:"";background:currentColor;width:16px;height:2px;position:absolute;top:50%;left:50%}.photo-lightbox-x:before{transform:translate(-50%,-50%)rotate(45deg)}.photo-lightbox-x:after{transform:translate(-50%,-50%)rotate(-45deg)}.photo-lightbox-nav{border-radius:0;place-items:center;width:44px;height:44px;display:grid;top:50%;transform:translateY(-50%)}.photo-lightbox-nav span{border-top:2px solid var(--navy);border-right:2px solid var(--navy);width:8px;height:8px}.photo-lightbox-nav.is-prev span{margin-left:3px;transform:rotate(-135deg)}.photo-lightbox-nav.is-next span{margin-right:3px;transform:rotate(45deg)}.photo-lightbox-nav.is-prev{left:18px}.photo-lightbox-nav.is-next{right:18px}.gallery{grid-template-columns:repeat(3,1fr)}.gallery figure{border:1px solid var(--line);border-radius:0;margin:0;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:220px}.vision-grid{gap:14px;display:grid}.about-story-lead{color:#243044;max-width:68ch;font-size:1.08rem}.about-story-alt{max-width:68ch}.about-story .vision-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}.about-story .vision-grid article{min-height:0;color:var(--navy);text-align:center;box-shadow:none;background:#fff;border:1px solid #1b2d6614;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:36px 32px;transition:box-shadow .18s;display:flex}.about-story .vision-grid article:hover{box-shadow:0 8px 22px #1b2d661a}.aim-icon{fill:none;stroke:#ff6a00;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;background:#fff4ec;border-radius:0;width:64px;height:64px;padding:14px}.about-story .vision-grid h3{color:var(--navy);margin:4px 0 0;font-size:1.35rem;font-weight:700}.about-story .vision-grid p{color:#243044;max-width:36ch;margin:0;font-size:1.05rem;line-height:1.75}.about-story .vision-grid p+p{margin-top:4px}.about-facts{background:#fff;border:1px solid #1b2d6614;border-radius:0;margin:28px 0 0;display:grid;overflow:hidden}.about-facts div{background:0 0;border:0;border-bottom:1px solid #1b2d6614;border-radius:0;grid-template-columns:minmax(180px,280px) minmax(0,1fr);align-items:baseline;gap:8px 32px;padding:18px 28px;display:grid}.about-facts div:last-child{border-bottom:0}.about-facts dt{color:#ff6a00;letter-spacing:0;text-transform:none;margin:0;font-size:14px;font-weight:600}.about-facts dd{color:var(--navy);margin:0;font-weight:600}.profile-band{padding-top:36px}.profile-inner{grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:28px 48px;display:grid}.profile-inner img{width:min(100%,480px);height:auto}.profile-copy h2{color:var(--blue);letter-spacing:.04em;white-space:nowrap;margin-bottom:12px;font-size:clamp(26px,2.4vw,36px);font-weight:600}.profile-copy p:last-of-type{color:#5c6b82;max-width:36ch;margin-bottom:0}.profile-copy .btn{margin-top:22px}.contact-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px}.contact-details{grid-template-columns:minmax(0,680px) auto;justify-content:start;align-items:start;gap:12px 40px;display:grid}.contact-details .fact-list{margin:0}.contact-line{width:168px;color:var(--navy);text-align:center;justify-items:center;gap:8px;margin-top:8px;font-weight:600;text-decoration:none;display:grid}.contact-line img{background:#fff;width:160px;height:auto}.contact-line small{color:#5c6b82;font-weight:500;display:block}.contact-google{border:1px solid var(--line);background:#fff;border-radius:0;flex-direction:column;width:100%;min-height:0;margin:0;display:flex;overflow:hidden}.contact-google iframe{border:0;flex:none;width:100%;height:460px;min-height:0}.contact-google figcaption{color:#243044;background:#fff;padding:12px 16px}.contact-google figcaption a{color:var(--navy);font-weight:600;text-decoration:none}.contact-google figcaption a:hover{color:#ff6a00}.contact-schematic{background:0 0;border:0;margin:8px 0 0;padding:0}.contact-schematic img{background:0 0;border:0;border-radius:0;width:100%;height:auto;display:block}.contact-media{gap:16px;display:grid}.line-card{color:#172033;background:#fff;border-radius:0;align-items:center;gap:14px;padding:12px;text-decoration:none;display:flex}.line-card img{object-fit:cover;border-radius:0;width:84px;height:84px}.line-card small{color:#526070;display:block}.site-footer{background:linear-gradient(180deg, #243876 0%, var(--navy) 140px);color:#f4f7ff;border-top:0;padding:0 0 28px}.site-footer:before{content:"";background:linear-gradient(90deg,#ff6a00 0 140px,#ff6a0047 140px,#0000 420px);height:3px;display:block}.footer-grid{grid-template-columns:1.35fr .85fr .75fr 1.15fr;align-items:start;gap:36px 40px;padding-top:52px;display:grid}.footer-mark{object-fit:cover;object-position:center;width:220px;height:78px;margin:4px 0 16px;display:block}.footer-brand{letter-spacing:.16em;margin:0 0 8px;font-size:18px;font-weight:600}.footer-legal,.footer-legal-alt{margin:0;line-height:1.55}.footer-legal-alt{color:#a9b7d0;margin-top:4px;font-size:14px}.site-footer h2{color:#ff6a00;letter-spacing:.18em;text-transform:uppercase;margin:8px 0 16px;font-size:12px;font-weight:600}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer a{color:#e8eef8;text-decoration:none;transition:color .16s}.site-footer a:hover{color:#ff6a00}.footer-links li+li{margin-top:10px}.footer-contact{gap:12px;display:grid}.footer-contact span{color:#8ea0c0;letter-spacing:.08em;margin-bottom:2px;font-size:12px;display:block}.footer-contact .is-address{color:#e8eef8;max-width:28ch;line-height:1.6}.footer-bottom{color:#a9b7d0;border-top:1px solid #ffffff1f;justify-content:space-between;gap:12px;margin-top:40px;padding-top:18px;font-size:13px;display:flex}.footer-bottom p{margin:0}.not-found{align-items:center;min-height:70svh;padding-top:140px;display:grid}@media (max-width:980px){.cta-copy p:last-of-type{white-space:normal}.service-grid,.project-grid,.gallery,.logo-grid{grid-template-columns:repeat(2,1fr)}.customer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-layout{grid-template-columns:1fr;min-height:0}.about-photo img{height:280px;min-height:0}.about-copy{padding:36px 22px 48px}.projects-head{align-items:start;display:grid}.projects-all{margin-bottom:0}.project-list a{grid-template-columns:40px minmax(0,1fr) 18px;align-items:start}.project-list-index,.project-list svg{margin-top:4px}.project-list-meta{text-align:left;grid-column:2;justify-items:start}.footer-grid,.split,.prose-grid,.contact-grid{grid-template-columns:1fr;display:grid}.about-story .vision-grid,.about-facts,.profile-inner{grid-template-columns:1fr}.profile-copy h2{white-space:normal}.footer-grid{gap:28px;padding-top:36px}.footer-bottom{gap:6px}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-part{gap:16px;padding:28px 0 32px}.service-part-media{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head-row,.footer-bottom{display:grid}}@media (max-width:1100px){.menu-toggle{display:inline-flex}.desktop-menu{display:none}.mobile-sheet{z-index:35;padding:calc(var(--header) + 18px) 22px 36px;background:var(--navy);color:#f4f7ff;opacity:0;pointer-events:none;flex-direction:column;align-items:stretch;gap:6px;display:flex;position:fixed;inset:0;overflow:auto}.mobile-sheet:not(.is-open){display:none}.mobile-sheet.is-open{opacity:1;pointer-events:auto}.mobile-sheet .menu-item{color:#f4f7ff;padding:14px 4px;font-size:1.35rem}.mobile-sheet .nav-drop-panel{min-width:0;box-shadow:none;background:0 0;border:0;margin:0 0 8px 8px;padding:0;display:grid;position:static}.mobile-sheet .nav-drop-panel a{color:#f4f7ff;padding:8px}.mobile-sheet .lang-switch{margin:18px 0 0;font-size:.9rem}}@media (max-width:760px){.hero-copy,.page-hero-copy{padding-bottom:48px}.home-hero .hero-copy,.page-hero.is-display .page-hero-copy{width:min(1120px,100% - 36px);padding-bottom:72px}.page-hero.is-display h1{font-size:clamp(2.6rem,13vw,3.4rem)}.page-hero.is-display h1.is-long{font-size:clamp(1.7rem,8.2vw,2.25rem)}.page-hero.is-display .lede{font-size:1.05rem}.home-copy-title{font-size:clamp(2rem,11vw,2.8rem)}.home-copy-title.is-long{font-size:clamp(1.65rem,7.4vw,2.15rem)}.home-copy-body{font-size:1rem}.hero-nav{display:none}.home-hero .hero-dots{left:50%;right:auto}.logo-grid,.gallery,.project-grid,.service-grid{grid-template-columns:1fr}.customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-track figure{width:136px;height:78px}.project-card dl div,.fact-list div{grid-template-columns:1fr;gap:2px}.wrap{width:min(var(--wrap), calc(100% - 28px))}.site-footer .wrap{width:min(var(--wrap), calc(100% - 48px))}.footer-grid{grid-template-columns:1fr 1fr;gap:26px 28px;padding-top:32px}.footer-brand-col,.footer-grid>div:last-child{grid-column:1/-1}.site-footer h2{margin-top:0}.footer-links{font-size:15px}.footer-contact .is-address{max-width:none}.about-facts div{grid-template-columns:1fr;gap:4px;padding:16px 18px}.topic-grid{grid-template-columns:1fr}.contact-google iframe{width:100%;height:280px;min-height:0}.contact-details{grid-template-columns:1fr}.contact-line{width:160px}.service-part-media{grid-template-columns:1fr}.page-hero.is-bright .page-hero-media{background-position:78%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.menu-item:after,.home-copy-title,.home-copy-body,.cover-line,.service-card,.service-card:before,.service-card-media img,.service-card-media:after,.service-index,.service-more,.service-more svg,.about-more svg,.projects-all svg,.project-list svg,.logo-track,.cta-call,.site-footer a,.about-story .vision-grid article,.topic-card,.hero .btn,.hero-nav{transition:none;animation:none}.service-card:hover,.service-card:focus-within,.service-card:hover .service-card-media img,.service-card:focus-within .service-card-media img,.service-card:hover .service-more svg,.service-card:focus-within .service-more svg,.service-card:hover:before,.service-card:focus-within:before,.service-card:hover .service-index,.service-card:focus-within .service-index,.about-more:hover svg,.projects-all:hover svg,.project-list a:hover svg,.topic-card:hover,.hero .btn:hover,.hero .btn:focus-visible,.hero .btn:active{transform:none}.home-copy-title,.home-copy-body,.cover-line,.page-hero.is-display h1,.page-hero.is-display .lede{opacity:1;animation:none;transform:none}}
