@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root{--bg:#f8f7f3;--ink:#111110;--mut:#45423d;--mut2:#5e5b55;--line:#dedbd3;--card:#fff;--dark:#141413;--dark2:#24221f;--media:#1c1b19;--on-dark:#f8f7f3;--on-dark-mut:#c9c5bc;--accent:#ff4a1c;--pad:clamp(20px, 5.5vw, 80px);--pad-wide:clamp(8px, 1.2vw, 16px);--sec:clamp(64px, 8vw, 120px);--sans:"Inter Variable", "Inter", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.5}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{opacity:.7}h1,h2,h3,p,figure,blockquote,ul{margin:0}ul{padding:0;list-style:none}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.wrap{max-width:1440px;padding-inline:var(--pad);margin-inline:auto}.wide{max-width:1520px;padding-inline:var(--pad-wide);margin-inline:auto}.section{padding-block:var(--sec)}.section-b{padding-bottom:var(--sec)}.stack{flex-direction:column;gap:36px;display:flex}.row{flex-wrap:wrap;gap:12px;display:flex}.split{flex-wrap:wrap;gap:32px 64px;display:flex}.split>.side{flex-direction:column;flex:320px;gap:16px;display:flex}.split>.main{flex:2 520px;min-width:0}.between{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;display:flex}.mono,.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.eyebrow:before,.dot:before{content:"●";color:var(--accent);margin-right:.6em}.display{letter-spacing:-.04em;font-size:clamp(44px,6.6vw,104px);font-weight:600;line-height:.98}.h-xl{letter-spacing:-.04em;font-size:clamp(44px,6.5vw,96px);font-weight:600;line-height:.95}.h2{letter-spacing:-.03em;font-size:clamp(30px,3.8vw,54px);font-weight:600;line-height:1.05}.h3{letter-spacing:-.025em;font-size:24px;font-weight:600;line-height:1.1}.lead{color:var(--mut);font-size:clamp(19px,1.8vw,23px);line-height:1.35}.mut{color:var(--mut)}.mut2{color:var(--mut2)}.accent{color:var(--accent)}.head{flex-wrap:wrap;gap:16px 64px;display:flex}.head>.eyebrow{flex:0 0 200px}.head>.h2{flex:999 480px;min-width:0;max-width:860px}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:16px 26px;font-weight:500;line-height:1.2;display:inline-block}.btn-dark{background:var(--dark);color:var(--on-dark)}.btn-light{background:var(--bg);color:var(--ink)}.btn-line{background:0 0;border-color:currentColor}.btn-accent{background:var(--accent);color:var(--dark);font-weight:600}.link{border-bottom:2px solid;padding:10px 0;font-weight:600}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;max-width:1520px;margin-inline:auto;padding:18px clamp(16px,3vw,40px);display:flex}.logo{letter-spacing:-.03em;font-size:22px;font-weight:600}.nav{flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:15px;font-weight:500;display:flex}.nav a{padding:12px 0}.nav .btn{padding:13px 22px}.site-footer{color:var(--mut2);flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:36px;font-size:14px;display:flex}.site-footer nav{flex-wrap:wrap;gap:4px 24px;display:flex}.site-footer a{padding:12px 0}.card{background:var(--card);border-radius:20px;flex-direction:column;gap:12px;min-width:0;padding:28px;display:flex}.card.is-dark{background:var(--dark);color:var(--on-dark)}.card.is-dark p{color:#e4e1d9}.card .num{font-family:var(--mono);opacity:.7;font-size:13px}.card .h3{margin-top:28px}.cards{flex-wrap:wrap;gap:12px;display:flex}.cards>*{flex:260px}.panel{background:var(--dark);color:var(--on-dark);border-radius:24px;padding:clamp(40px,6vw,96px) clamp(20px,5vw,72px)}.panel.is-accent{background:var(--accent);color:var(--dark)}.panel .mut{color:#e4e1d9}.cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 48px;display:flex}.cta-title{letter-spacing:-.035em;font-size:clamp(36px,5vw,72px);font-weight:600;line-height:1}.chips{flex-wrap:wrap;gap:6px;font-size:14px;display:flex}.chips>*{background:var(--card);border-radius:999px;padding:6px 14px}.logos{grid-template-columns:repeat(auto-fit,minmax(max(140px,22%),1fr));gap:12px;display:grid}.logos>*{background:var(--card);text-align:center;letter-spacing:-.02em;border-radius:16px;padding:30px 16px;font-size:19px;font-weight:600}.media{background:var(--media);aspect-ratio:16/10;border-radius:20px;position:relative;overflow:hidden}.media.r-16-9{aspect-ratio:16/9}.media.r-21-9{aspect-ratio:21/9}@media (width<=720px){.media.r-21-9{aspect-ratio:16/10}}.media.r-4-5{aspect-ratio:4/5;max-height:620px}.media.r-9-16{aspect-ratio:9/16;max-height:80vh;margin-inline:auto}.media.is-xl{border-radius:24px}.media>img,.media>iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.media .tc{font-family:var(--mono);color:#fff;text-shadow:0 1px 6px #00000080;font-size:13px;position:absolute;bottom:16px;right:18px}.play{background:var(--bg);width:88px;height:88px;color:var(--dark);cursor:pointer;border:0;border-radius:50%;place-items:center;margin:auto;transition:transform .2s;display:grid;position:absolute;inset:0}.play:hover{transform:scale(1.06)}.play.is-sm{width:64px;height:64px}.projects{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:36px 12px;display:grid}.projects.fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.project{flex-direction:column;gap:12px;min-width:0;display:flex}.project .media img{transition:transform .5s}.project:hover{opacity:1}.project:hover .media img{transform:scale(1.03)}.project-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.project-title{letter-spacing:-.025em;font-size:22px;font-weight:600}.project.is-lg .project-title{font-size:26px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:12px 20px;font-size:15px;font-weight:500}.filter[aria-pressed=true]{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}.rows{border-top:1px solid var(--ink)}.rows>*{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px 32px;padding:30px 0;display:flex}.rows .idx{font-family:var(--mono);color:var(--mut2);flex:0 0 48px;font-size:14px}.rows .name{letter-spacing:-.03em;flex:300px;font-size:38px;font-weight:600;line-height:1}.rows .desc{min-width:0;color:var(--mut);flex-direction:column;flex:2 420px;gap:14px;display:flex}.checks{border-top:1px solid var(--ink);font-size:19px}.checks li{border-bottom:1px solid var(--line);gap:12px;padding:16px 0;display:flex}.checks li:before{content:"●";color:var(--accent)}.steps{flex-wrap:wrap;gap:28px 24px;display:flex}.steps>*{border-top:2px solid var(--line);flex-direction:column;flex:240px;gap:10px;padding-top:18px;display:flex}.steps>:first-child{border-top-color:var(--ink)}.steps .mono{color:var(--mut2)}.faq{flex-direction:column;gap:8px;display:flex}.faq-item{background:var(--card);border-radius:16px;transition:box-shadow .3s}.faq-q{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;font-size:19px;font-weight:600;display:flex}.faq-q i{flex:0 0 14px;height:14px;position:relative}.faq-q i:before,.faq-q i:after{content:"";background:var(--mut2);height:1.5px;position:absolute;top:50%;left:0;right:0}.faq-item.is-closed .faq-q i:after{transform:rotate(90deg)}.faq-a{grid-template-rows:1fr;display:grid}.faq-item.is-closed .faq-a{grid-template-rows:0fr}.faq-a>div{min-height:0;overflow:hidden}.faq-a p{color:var(--mut);padding:0 24px 22px}.faq-item.is-closed .faq-a p{opacity:0}.faq.is-animated .faq-a{transition:grid-template-rows .4s cubic-bezier(.65,0,.35,1)}.faq.is-animated .faq-a p{transition:opacity .3s}.faq.is-animated .faq-q i:after{transition:transform .4s cubic-bezier(.65,0,.35,1)}.facts{flex-wrap:wrap;gap:12px;display:flex}.facts>*{background:var(--card);border-radius:16px;flex-direction:column;flex:200px;gap:6px;padding:20px;display:flex}.facts .mono{color:var(--mut2)}.facts strong{font-weight:600}.case>*{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 64px;padding:32px 0;display:flex}.case>:first-child{border-top-color:var(--ink)}.case .mono{flex:0 0 200px}.case .body{flex-direction:column;flex:999 480px;gap:14px;min-width:0;max-width:820px;display:flex}.stats{flex-wrap:wrap;gap:12px;display:flex}.stats>*{background:var(--dark);color:var(--on-dark);border-radius:16px;flex-direction:column;flex:200px;gap:4px;padding:22px;display:flex}.stats strong{letter-spacing:-.03em;font-size:34px;font-weight:600}.stats span{color:var(--on-dark-mut);font-size:15px}.hero{background:var(--media);min-height:clamp(540px,56vw,820px);color:var(--on-dark);border-radius:24px;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(20px,3vw,44px);display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;container-type:size}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg iframe{pointer-events:none;border:0;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero:after{content:"";pointer-events:none;background:linear-gradient(#00000059 0%,#0000001a 35%,#000000b3 100%);position:absolute;inset:0}.hero>:not(.hero-bg){z-index:1;position:relative}.hero-top{flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;display:flex}.hero-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.hero-text{flex-direction:column;flex:999 480px;gap:18px;min-width:0;display:flex}.hero-h1{letter-spacing:-.01em;font-size:clamp(18px,1.7vw,24px);font-weight:500;line-height:1.25}.hero-lead{color:#e4e1d9;max-width:520px;font-size:19px}.hero-card{background:var(--bg);color:var(--ink);border-radius:18px;flex:0 320px;align-items:center;gap:14px;padding:12px 20px 12px 12px;display:flex}.hero-card .avatar{background:var(--dark);height:60px;color:var(--on-dark);border-radius:12px;flex:0 0 60px;place-items:center;font-weight:600;display:grid;overflow:hidden}.hero-card small{color:var(--mut2);font-size:14px;display:block}.quote-lg{letter-spacing:-.025em;max-width:1040px;font-size:clamp(26px,3.4vw,48px);font-weight:500;line-height:1.12}.quote-by{color:var(--on-dark-mut);font-size:15px}.quote-by strong{color:var(--on-dark);font-weight:600}.quotes{flex-wrap:wrap;gap:12px;display:flex}.quotes figure{background:var(--dark2);border-radius:18px;flex-direction:column;flex:340px;gap:16px;min-width:0;padding:26px;display:flex}.quotes blockquote{font-size:19px}.price{flex-wrap:wrap;align-items:center;gap:32px 64px;display:flex}.price-text{flex-direction:column;flex:999 420px;gap:16px;min-width:0;display:flex}.price-box{background:var(--dark2);border-radius:18px;flex-direction:column;flex:320px;gap:8px;padding:28px;display:flex}.price-box small{color:var(--on-dark-mut);font-size:15px}.price-box strong{letter-spacing:-.04em;font-size:52px;font-weight:600;line-height:1}.price-box .btn{align-self:flex-start;margin-top:14px}.form{background:var(--card);border-radius:24px;flex-direction:column;gap:16px;min-width:0;padding:clamp(20px,2.6vw,36px);display:flex}.form.on-dark{background:var(--bg);color:var(--ink);border-radius:20px}.form-title{letter-spacing:-.025em;font-size:26px;font-weight:600;line-height:1.1}.field{flex-direction:column;flex:200px;gap:6px;font-size:14px;font-weight:500;display:flex}.field input,.field select,.field textarea{background:var(--bg);color:var(--ink);border:1px solid #bdb8ad;border-radius:10px;width:100%;padding:14px;font-size:16px}.form.on-dark .field input,.form.on-dark .field textarea{background:#fff}.field textarea{resize:vertical}.form>.field{flex:none}.fields{flex-wrap:wrap;gap:16px;display:flex}.form small{color:var(--mut2);font-size:13px}.contact-rows{border-top:1px solid var(--ink);max-width:560px}.contact-rows a{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding:18px 0;display:flex}.contact-rows strong{font-size:19px;font-weight:600}.contact-rows .mono{color:var(--mut2)}.lp-hero{flex-wrap:wrap;align-items:center;gap:40px 56px;padding:clamp(24px,4vw,64px);display:flex}.lp-hero-text{flex-direction:column;flex:999 480px;gap:24px;min-width:0;display:flex}.lp-hero .form{flex:380px}.lp-title{letter-spacing:-.035em;font-size:clamp(38px,5vw,76px);font-weight:600;line-height:1}.lp-bullets{color:#e4e1d9;flex-direction:column;gap:10px;display:flex}.lp-bullets li{gap:12px;display:flex}.lp-bullets li:before{content:"●";color:var(--accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.js-motion :is(.display,.h-xl,.h2,.cta-title,.lp-title,.quote-lg,.wordmark span,.hero-line),.js-motion :is(.card,.project:not(.stack-card),.rows>*,.steps>*,.faq-item,.facts>*,.stats>*,.quotes figure,.checks li,.lead,.eyebrow,.case>*,.price-box,.contact-rows>*,.form,.filters,.marquee,.hero-card,.wide>.media,.lp-bullets li,.photo-item){visibility:hidden}.line{margin-bottom:-.1em;padding-bottom:.1em}a.btn:hover,a.project:hover,a.stack-card:hover,.rows>a:hover,a.hero-card:hover,.logo:hover{opacity:1}.site-header-wrap{z-index:50;backdrop-filter:blur(16px);background:#f8f7f3b8;transition:transform .36s cubic-bezier(.7,0,.2,1);position:sticky;top:0}.site-header-wrap.is-hidden{transform:translateY(-101%)}.nav a:not(.btn){position:relative}.nav a:not(.btn):after{content:"";transform-origin:100%;background:currentColor;height:1.5px;transition:transform .4s cubic-bezier(.7,0,.2,1);position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.nav a:not(.btn):hover{opacity:1}.nav a:not(.btn):hover:after{transform-origin:0;transform:scaleX(1)}.nav a[aria-current=page]{box-shadow:none}.nav a[aria-current=page]:after{transform:scaleX(1)}.btn{transition:transform .3s;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.roll{margin-block:-.25em;padding-block:.25em;display:block;position:relative;overflow:hidden}.roll>span{transition:transform .36s cubic-bezier(.7,0,.2,1);display:block}.roll:after{content:attr(data-label);width:100%;transition:transform .36s cubic-bezier(.7,0,.2,1);position:absolute;top:.25em;left:0;transform:translateY(200%)}.btn:hover .roll>span{transform:translateY(-200%)}.btn:hover .roll:after{transform:translateY(0)}.h-xl{font-size:clamp(52px,9vw,128px);line-height:.88}.intro{flex-direction:column;gap:clamp(12px,1.6vw,24px);padding-top:clamp(8px,2vw,28px);padding-bottom:clamp(16px,2vw,28px);display:flex}.wordmark{letter-spacing:-.045em;flex-wrap:wrap;justify-content:space-between;gap:0 .2em;font-size:clamp(56px,12.6vw,196px);font-weight:600;line-height:.9;display:flex}.wordmark sup{vertical-align:top;color:var(--accent);letter-spacing:0;font-size:.32em;position:relative;top:.25em}.intro-meta{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.intro-meta h1{font:inherit}.hero-wrap{--p:0;--ix:5.5vw;--iy:9vh;height:190vh}.hero-sticky{height:100vh;position:sticky;top:0;overflow:hidden}.hero-window{background:var(--media);clip-path:inset(calc((1 - var(--p)) * var(--iy)) calc((1 - var(--p)) * var(--ix)) round calc((1 - var(--p)) * 24px));position:absolute;inset:0;container-type:size}.hero-window img{object-fit:cover;width:100%;height:100%}.hero-window iframe{pointer-events:none;border:0;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-window:after{content:"";background:linear-gradient(#0000 45%,#0009 100%);position:absolute;inset:0}.hero-over{z-index:1;color:#fff;padding:calc((1 - var(--p)) * var(--iy) + clamp(20px, 3vw, 44px)) calc((1 - var(--p)) * var(--ix) + clamp(20px, 3vw, 44px));flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:absolute;inset:0}.hero-line{letter-spacing:-.035em;font-size:clamp(28px,3.8vw,64px);font-weight:600;line-height:1.02}@media (width<=899px){.hero-wrap{--ix:12px;--iy:0px;height:auto}.hero-sticky{height:76svh;min-height:460px;position:relative}}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{gap:12px;width:max-content;animation:42s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{background:var(--card);text-align:center;letter-spacing:-.025em;border-radius:20px;flex:none;width:clamp(200px,22vw,300px);padding:clamp(36px,4.5vw,64px) 16px;font-size:clamp(19px,1.8vw,26px);font-weight:600}@keyframes marquee{to{transform:translate(calc(-50% - 6px))}}.stack-cards{flex-direction:column;gap:28px;display:flex}.stack-card{top:calc(84px + var(--i) * 64px);display:block;position:sticky}.stack-inner{--dim:0;background:var(--card);transform-origin:top;border-radius:26px;flex-direction:column;padding:6px 12px 12px;display:flex;position:relative;box-shadow:0 -10px 30px -18px #11111040}.stack-inner:after{content:"";border-radius:inherit;opacity:var(--dim);pointer-events:none;background:#111110;position:absolute;inset:0}.stack-inner .media{aspect-ratio:16/9;border-radius:16px;width:100%;max-height:56vh}.stack-meta{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;min-height:58px;padding:12px 8px 14px;display:flex}.stack-meta strong{letter-spacing:-.03em;font-size:clamp(20px,2.1vw,30px);font-weight:600}@media (width<=720px){.stack-card{top:calc(70px + var(--i) * 12px)}}.project .media{transition:transform .42s cubic-bezier(.65,0,.35,1)}.project:hover .media{transform:scale(.975)}.project .project-title{transition:transform .36s cubic-bezier(.65,0,.35,1)}.project:hover .project-title{transform:translate(8px)}.rows>a{transition:padding .36s cubic-bezier(.65,0,.35,1),background .3s;position:relative}.rows>a .name{align-items:center;gap:.3em;display:flex}.rows>a .name:after{content:"→";opacity:0;font-weight:400;transition:opacity .4s,transform .36s cubic-bezier(.65,0,.35,1);transform:translate(-16px)}.rows>a:hover{padding-left:20px}.rows>a:hover .name:after{opacity:1;transform:none}.faq-item:hover{box-shadow:0 0 0 1px var(--line)}.filter{transition:background .3s,color .3s,transform .2s}.filter:active{transform:scale(.96)}.cursor-badge{z-index:100;background:var(--accent);width:88px;height:88px;color:var(--dark);pointer-events:none;border-radius:50%;place-items:center;margin:-44px 0 0 -44px;font-size:14px;font-weight:600;transition:scale .35s cubic-bezier(.65,0,.35,1);display:grid;position:fixed;top:0;left:0;scale:0}.cursor-badge.is-on{scale:1}.hover-preview{z-index:90;aspect-ratio:16/10;pointer-events:none;opacity:0;background:var(--media);border-radius:16px;width:340px;margin:-110px 0 0 28px;transition:opacity .18s ease-out,scale .24s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;overflow:hidden;rotate:-3deg;scale:.8}.hover-preview.is-on{opacity:1;scale:1}.hover-preview>img:only-child{object-fit:cover;width:100%;height:100%}.hover-preview.is-photos{aspect-ratio:4/5;background:0 0;width:250px;margin:-170px 0 0 40px;overflow:visible;rotate:0deg}.hp-card{object-fit:cover;box-sizing:border-box;border:5px solid #fff;border-radius:14px;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 18px 40px -16px #0000008c}.hover-preview.is-timeline{aspect-ratio:auto;color:#f8f7f3;background:#141413;flex-direction:column;gap:8px;width:380px;margin:-150px 0 0 32px;padding:10px;display:flex;rotate:0deg;box-shadow:0 24px 50px -20px #0009}.hp-view{aspect-ratio:16/9;background:#24221f;border-radius:8px;position:relative;overflow:hidden}.hp-view img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .12s linear;position:absolute;inset:0}.hp-bar{color:#c9c5bc;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:11px;display:flex}.hp-tracks{flex-direction:column;gap:4px;display:flex;position:relative}.hp-track{gap:3px;height:26px;display:flex}.hp-track>*{background:#3a3733 50%/cover;border-radius:4px}.hp-track.is-audio{height:14px}.hp-track.is-audio>*{background:repeating-linear-gradient(90deg,#7a9a6a 0 2px,#4d6644 2px 5px)}.hp-track.is-titles{height:10px}.hp-track.is-titles>span{background:0 0}.hp-track.is-titles>i{background:var(--accent)}.hp-head{background:#fff;border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px;left:0;box-shadow:0 0 0 3px #ffffff26}.steps{--line:0;position:relative}.steps:before{content:"";height:2px;width:calc(var(--line) * 100%);background:var(--accent);z-index:1;position:absolute;top:0;left:0}[data-trail]{align-content:center;min-height:min(70vh,640px);position:relative;overflow:hidden}[data-trail]>:not(.trail-img){z-index:1;position:relative}.trail-img{aspect-ratio:16/10;object-fit:cover;pointer-events:none;z-index:0;border-radius:14px;width:clamp(150px,17vw,260px);position:absolute;top:0;left:0}.trail-hint{color:var(--on-dark-mut);top:clamp(20px,3vw,40px);right:clamp(20px,3vw,44px);position:absolute!important}@media (hover:none){.trail-hint{display:none}}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;width:auto;animation:none}.stack-card{position:static}}@media (width<=720px){.nav-opt{display:none}.site-header{flex-wrap:nowrap;padding-block:10px}.nav{flex-wrap:nowrap;gap:4px 16px}.nav .btn{white-space:nowrap;padding:11px 16px}}.prose{max-width:760px;color:var(--mut)}.prose h2{letter-spacing:-.025em;color:var(--ink);border-top:1px solid var(--line);margin:48px 0 14px;padding-top:24px;font-size:24px;font-weight:600}.prose p{margin:0 0 14px}.prose ul{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.prose li{gap:12px;display:flex}.prose li:before{content:"●";color:var(--accent);font-size:.7em;line-height:2.1}.prose a{text-underline-offset:3px;word-break:break-word;text-decoration:underline}.prose table{border-collapse:collapse;width:100%;margin:0 0 14px}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 16px 12px 0}.prose th{color:var(--ink);font-weight:600}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{width:38px;display:inline-flex}.logo-mark svg{width:100%;height:auto;transition:transform .42s cubic-bezier(.65,0,.35,1);display:block}.logo:hover .logo-mark svg{transform:rotate(-8deg)scale(1.06)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.logo-mark{width:46px}.theme-dark{--bg:#141413;--ink:#f8f7f3;--mut:#c9c5bc;--mut2:#a8a39a;--line:#3a3733;--card:#24221f}.theme-dark .site-header-wrap{background:#141413b8}.theme-dark .btn-dark{background:var(--on-dark);color:var(--dark)}.theme-dark .filter[aria-pressed=true]{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}.brand{align-items:center;gap:clamp(10px,1.6vw,22px);display:flex}.mode-switch{background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:999px;padding:3px;font-size:14px;font-weight:500;display:inline-flex}.mode-switch a{color:var(--mut2);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;transition:background .35s,color .35s;display:inline-flex}.mode-switch a:hover{opacity:1;color:var(--ink)}.mode-switch a[aria-current]{background:var(--ink);color:var(--bg)}@media (width<=720px){.mode-switch a{padding:9px 11px}.mode-switch span{display:none}}.masonry{columns:3;column-gap:12px}@media (width<=1100px){.masonry{columns:2}}@media (width<=560px){.masonry{columns:1}}.photo-item{background:var(--card);cursor:zoom-in;break-inside:avoid;border:0;border-radius:14px;width:100%;margin:0 0 12px;padding:0;display:block;overflow:hidden}.photo-item img{width:100%;height:auto;transition:transform .9s cubic-bezier(.65,0,.35,1),filter .5s;display:block}.photo-item:hover img{transform:scale(1.04)}.masonry:hover .photo-item:not(:hover) img{filter:brightness(.55)}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--on-dark);background:#0c0c0bf5;border:0;margin:0;padding:clamp(48px,6vw,72px) clamp(12px,6vw,96px)}.lightbox[open]{place-items:center;display:grid}.lightbox::backdrop{background:0 0}.lightbox img{object-fit:contain;border-radius:6px;max-width:100%;min-height:0;max-height:100%}.lightbox button{width:52px;height:52px;color:inherit;cursor:pointer;background:#14141399;border:1px solid #f8f7f34d;border-radius:50%;font-size:18px;transition:background .3s,color .3s;position:absolute}.lightbox button:hover{background:var(--on-dark);color:var(--dark)}.lb-close{top:16px;right:16px}.lb-prev{top:50%;left:16px;translate:0 -50%}.lb-next{top:50%;right:16px;translate:0 -50%}.lb-caption{text-align:center;color:var(--on-dark-mut);margin:0;position:absolute;bottom:16px;left:0;right:0}.photo-band{flex-direction:column;gap:36px;display:flex;overflow:hidden}.photo-band-view{scrollbar-width:none;overflow-x:auto}.js-motion .photo-band-view{overflow:hidden}.photo-band-track{width:max-content;padding-inline:var(--pad);gap:12px;display:flex}.photo-band-track a{background:var(--card);border-radius:16px;flex:none;height:clamp(260px,46vh,520px);overflow:hidden}.photo-band-track a:hover{opacity:1}.photo-band-track img{width:auto;height:100%;display:block}@media (width<=720px){.site-header{flex-wrap:wrap;justify-content:flex-start;gap:4px 12px}.nav{display:contents}.nav .btn{order:2;margin-left:auto}.site-header:after{content:"";flex-basis:100%;order:3}.nav a:not(.btn){order:4;margin-right:14px;padding:6px 0 10px;font-size:15px;font-weight:500}.nav a:not(.btn):after{bottom:6px}}.curtain{z-index:1000;pointer-events:none;visibility:hidden;position:fixed;inset:0}.pt-enter .curtain,.pt-leave .curtain{visibility:visible}.curtain-bar{background:var(--dark);height:50.5%;position:absolute;left:0;right:0}.curtain-bar.is-top{top:0;transform:translateY(-101%)}.curtain-bar.is-bottom{bottom:0;transform:translateY(101%)}.pt-enter .curtain-bar{transform:none}.curtain-mid{color:#f8f7f3;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:0}.pt-enter .curtain-mid{opacity:1}.curtain-mid .logo-mark{width:clamp(72px,9vw,120px)}.curtain-tc{color:#c9c5bc;font-variant-numeric:tabular-nums}.pt-enter .curtain{animation:10ms linear 4.5s forwards curtain-fail}@keyframes curtain-fail{to{visibility:hidden}}.reel-col{flex:320px;justify-content:center;min-width:0;display:flex}.reel{aspect-ratio:9/16;background:var(--media);transform-origin:50% 80%;will-change:transform;border-radius:28px;max-width:100%;height:min(78vh,720px);position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #11111073}.reel>img,.reel-frame,.reel-frame iframe{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.reel-frame{pointer-events:none}.reel-frame.is-live{pointer-events:auto}.reel-btn{background:var(--on-dark);color:var(--dark);white-space:nowrap;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:13px 20px;font-size:15px;font-weight:600;transition:scale .3s cubic-bezier(.65,0,.35,1),background .3s;display:inline-flex;position:absolute;bottom:18px;left:50%;translate:-50%}.reel-btn:hover{background:var(--accent);scale:1.05}.cards>.card{transform-style:preserve-3d;will-change:transform;position:relative;overflow:hidden}.cards>.card:before{content:"";background:var(--accent);transform-origin:0;height:4px;transition:transform .42s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.cards>.card:hover:before{transform:scaleX(1)}.cards>.card .num{transition:color .4s,opacity .4s,letter-spacing .42s cubic-bezier(.65,0,.35,1)}.cards>.card:hover .num{color:var(--accent);opacity:1;letter-spacing:.3em}.cards>.card .h3{transition:transform .42s cubic-bezier(.65,0,.35,1)}.cards>.card:hover .h3{transform:translate(6px)}.hero-card{will-change:transform;transition:background .4s,padding .36s cubic-bezier(.65,0,.35,1)}.hero-card .avatar{transition:background .4s,color .4s,border-radius .36s cubic-bezier(.65,0,.35,1),rotate .42s cubic-bezier(.65,0,.35,1)}.hero-card:hover .avatar{background:var(--accent);color:var(--dark);border-radius:50%;rotate:-8deg}.hero-card-arrow{background:var(--dark);width:0;height:40px;color:var(--on-dark);opacity:0;border-radius:50%;place-items:center;margin-left:-14px;transition:width .36s cubic-bezier(.65,0,.35,1),opacity .4s,margin .36s cubic-bezier(.65,0,.35,1);display:grid;overflow:hidden}.hero-card:hover .hero-card-arrow{opacity:1;width:40px;margin-left:0}@media (hover:none){a:hover{opacity:1}.btn:hover .roll>span{transform:none}.btn:hover .roll:after{transform:translateY(200%)}.nav a:not(.btn):hover:after{transform:scaleX(0)}.nav a[aria-current=page]:hover:after{transform:scaleX(1)}.rows>a:hover{padding-left:0}.rows>a .name:after{display:none}.project:hover .media,.project:hover .project-title{transform:none}.cards>.card:hover:before{transform:scaleX(0)}.cards>.card:hover .num{color:inherit;opacity:.7;letter-spacing:inherit}.cards>.card:hover .h3{transform:none}.hero-card:hover .avatar{background:var(--dark);color:var(--on-dark);border-radius:12px;rotate:0deg}.hero-card-arrow{display:none}.photo-item:hover img{transform:none}.masonry:hover .photo-item:not(:hover) img{filter:none}.faq-item:hover{box-shadow:none}.logo:hover .logo-mark svg{transform:none}.reel-btn:hover{background:var(--on-dark);scale:1}.play:hover{transform:none}.mode-switch a:hover{color:var(--mut2)}.mode-switch a[aria-current]:hover{color:var(--bg)}}.pt-enter .cursor-badge,.pt-leave .cursor-badge{scale:0}.booking{flex-wrap:wrap;align-items:stretch;gap:40px 56px;scroll-margin-top:24px;display:flex}.booking-side{flex-direction:column;flex:320px;gap:24px;min-width:0;display:flex}.booking-title{letter-spacing:-.035em;font-size:clamp(32px,4vw,56px);font-weight:600;line-height:1}.booking-points{border-top:1px solid #f8f7f32e;margin:0;padding:0;list-style:none}.booking-points li{color:#d9d6ce;border-bottom:1px solid #f8f7f32e;gap:18px;padding:16px 0;display:flex}.booking-points .mono{color:var(--accent);flex:none}.booking-note{color:#a8a49b;margin-top:auto;font-size:15px}.booking-frame{color:#141413;background:#f8f7f3;border-radius:20px;flex-direction:column;flex:1.4 420px;min-width:0;display:flex;overflow:hidden;box-shadow:0 40px 80px -40px #000c}.booking-bar{color:#5e5b55;border-bottom:1px solid #dedbd3;align-items:center;gap:6px;padding:14px 18px;font-size:12px;display:flex}.booking-bar i{background:#dedbd3;border-radius:50%;width:9px;height:9px}.booking-bar i:first-child{background:var(--accent)}.booking-bar span{margin-left:10px}.booking-body{flex:1;min-height:460px;display:grid;position:relative}.booking-body>*{grid-area:1/1}.booking-grid{grid-template-columns:repeat(7,1fr);align-content:center;gap:8px;padding:22px;display:grid}.booking-grid i{aspect-ratio:1;animation:2.8s ease-in-out infinite booking-pulse;animation-delay:calc(var(--i) * 70ms);background:#ebe8e0;border-radius:10px}.booking-grid i:nth-child(7n),.booking-grid i:nth-child(7n+6){background:0 0;border:1px dashed #dedbd3;animation:none}@keyframes booking-pulse{0%,to{background:#ebe8e0}12%{background:var(--accent)}30%{background:#ebe8e0}}.booking-cta{text-align:center;backdrop-filter:blur(6px);background:#f8f7f3db;border-radius:18px;flex-direction:column;place-self:center;align-items:center;gap:12px;max-width:340px;margin:22px;padding:28px;display:flex}.booking-alt{text-underline-offset:3px;font-size:14px;text-decoration:underline}.booking-cta small{color:#5e5b55;font-size:12px}.booking-body iframe{opacity:0;background:#fff;border:0;width:100%;height:100%;min-height:680px;transition:opacity .4s}.is-loading .booking-cta .btn{opacity:.5;pointer-events:none}.is-open .booking-grid,.is-open .booking-cta{display:none}.is-open .booking-body iframe{opacity:1}@media (prefers-reduced-motion:reduce){.booking-grid i{animation:none}}@media (width<=640px){.booking-body{min-height:320px}.booking-grid{gap:6px;padding:14px}.booking-cta{margin:14px;padding:22px 18px}}
