@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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}:root{--paper:#f5f3ee;--paper-2:#e9e6df;--ink:#0d0e13;--ink-2:#565760;--on-ink-2:#a6a7b0;--line:#0d0e1324;--line-on-ink:#f5f3ee2e;--c:#00aeef;--m:#ec008c;--y:#ffe800;--gutter:clamp(16px, 3.2vw, 48px);--radius:14px;--ease:cubic-bezier(.2, .8, .2, 1);--sans:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, Menlo, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--paper)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(.95rem,.92rem + .12vw,1.03rem);line-height:1.5;overflow-x:clip}img,svg,canvas{max-width:100%;display:block}img{height:auto}a{color:inherit}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}ul,ol{list-style:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--m);color:#fff}:focus-visible{outline:2px solid var(--m);outline-offset:3px;border-radius:3px}.skip{z-index:200;background:var(--ink);color:var(--paper);border-radius:8px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip:focus{top:16px}.display{letter-spacing:-.05em;font-size:clamp(2.9rem,9vw,10.5rem);font-weight:800;line-height:.86}.display .thin,.title .thin{letter-spacing:-.055em;font-weight:250}.title{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.1rem,5.2vw,5.5rem);font-weight:750;line-height:.92}.heading{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(1.75rem,3.4vw,3.4rem);font-weight:700;line-height:.98}.subhead{letter-spacing:-.025em;font-size:clamp(1.2rem,1.6vw,1.55rem);font-weight:650;line-height:1.1}.lead{letter-spacing:-.012em;max-width:34em;font-size:clamp(1.05rem,1.25vw,1.25rem);line-height:1.34}.muted{color:var(--ink-2)}.label{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;font-size:.75rem;line-height:1.3}.label-row{align-items:center;gap:10px;display:flex}.reg-mark{flex:none;width:16px;height:16px}[data-reg]{position:relative}[data-reg] .plate{pointer-events:none;mix-blend-mode:multiply;user-select:none;position:absolute;inset:0}[data-reg] .plate-c{color:var(--c)}[data-reg] .plate-m{color:var(--m)}[data-reg] .plate-y{color:var(--y)}[data-reg] .plate-k{display:block;position:relative}.js [data-reg]{opacity:0;animation:0s linear 2.5s forwards reveal-failsafe}@keyframes reveal-failsafe{to{opacity:1}}.word{overflow-clip-margin:.12em;vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:clip}.word>span{display:inline-block}.wrap{padding-inline:var(--gutter)}.section{padding-block:clamp(72px,11vw,176px)}.section-head{gap:clamp(20px,3vw,40px);margin-bottom:clamp(40px,6vw,88px);display:grid}.dark{background:var(--ink);color:var(--paper);--line:var(--line-on-ink);--ink-2:var(--on-ink-2)}.tint{background:var(--paper-2)}.colour-bar{z-index:120;transform-origin:0;height:4px;transform:scaleX(var(--progress,0));pointer-events:none;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:0 0 auto}.colour-bar i:first-child{background:var(--c)}.colour-bar i:nth-child(2){background:var(--m)}.colour-bar i:nth-child(3){background:var(--y)}.colour-bar i:nth-child(4){background:var(--ink)}.site-header{top:12px;left:var(--gutter);right:var(--gutter);z-index:100;-webkit-backdrop-filter:blur(18px)saturate(1.5);border-radius:var(--radius);height:66px;color:var(--ink);transition:transform .5s var(--ease);view-transition-name:site-header;background:#f5f3eed1;border:1px solid #0d0e131a;justify-content:space-between;align-items:center;gap:20px;padding:0 10px 0 14px;display:flex;position:fixed}.site-header.is-hidden{transform:translateY(-96px)}.brand{flex:none;display:block}.brand img{width:auto;height:54px}.site-nav ul{gap:clamp(2px,.5vw,8px);display:flex}.site-nav a{border-radius:8px;padding:8px 12px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .25s;display:block}.site-nav a:hover{background:#0d0e1312}.site-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--m);border-radius:8px 8px 0 0}.header-actions{align-items:center;gap:8px;display:flex}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:46px;height:46px;display:none}.menu-toggle span{width:18px;height:2px;transition:transform .35s var(--ease);background:currentColor;display:block}.menu-toggle span+span{margin-top:5px}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.mobile-menu{z-index:90;padding:100px var(--gutter) 28px;background:var(--paper);visibility:hidden;clip-path:inset(0 0 100%);transition:clip-path .55s var(--ease), visibility 0s .55s;flex-direction:column;justify-content:space-between;gap:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.menu-open .mobile-menu{visibility:visible;clip-path:inset(0);transition:clip-path .55s var(--ease), visibility 0s}.mobile-menu a{text-decoration:none}.mobile-menu li a{letter-spacing:-.04em;padding:7px 0;font-size:clamp(1.9rem,9vw,3rem);font-weight:700;line-height:1;display:block}.menu-open{overflow:hidden}@media (width<=1020px){.site-nav{display:none}.menu-toggle{align-content:center;justify-items:center;display:grid}}@media (width>=1021px){.mobile-menu{display:none}}.btn{isolation:isolate;border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--paper);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:12px 22px;font-size:.98rem;font-weight:600;line-height:1.1;text-decoration:none;transition:color .3s,border-color .3s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:linear-gradient(100deg, var(--c), var(--m) 55%, var(--y));transition:transform .55s var(--ease);position:absolute;inset:0;transform:translate(-101%)}.btn:hover:before{transform:none}.btn:hover{color:#fff;border-color:#0000}.btn .arrow{transition:transform .4s var(--ease)}.btn:hover .arrow{transform:translate(4px)}.btn-ghost{color:var(--ink);background:0 0}.btn-small{min-height:46px;padding:10px 16px;font-size:.92rem}.dark .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.dark .btn:hover{color:#fff;border-color:#0000}.dark .btn-ghost{color:var(--paper);background:0 0}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.text-link{transition:background-size .4s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;align-items:center;gap:8px;padding-bottom:2px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{background-size:30% 1.5px}.hero{min-height:100svh;padding:clamp(100px, 11vh, 130px) var(--gutter) 24px;flex-direction:column;justify-content:space-between;gap:32px;display:flex;position:relative;overflow:clip}.hero-canvas{mix-blend-mode:multiply;pointer-events:none;width:min(62vw,92vh);height:100%;position:absolute;top:0;right:clamp(-40px,3vw,80px)}.hero-canvas canvas{width:100%;height:100%}.hero-copy{z-index:2;position:relative}.hero .display{margin-top:clamp(14px,2.4vh,28px)}.hero-foot{z-index:2;grid-template-columns:minmax(0,1.1fr) auto;align-items:end;gap:clamp(24px,4vw,64px);display:grid;position:relative}.hero-foot .lead{max-width:30em;margin-bottom:20px}.hero-meta{text-align:right;color:var(--ink-2);gap:6px;display:grid}@media (width<=760px){.hero-canvas{width:100vw;height:46%;top:31%;right:-24vw}.hero-foot{grid-template-columns:1fr}.hero-meta{display:none}}.marquee{border-block:1px solid var(--line);padding-block:clamp(14px,1.8vw,26px);overflow:clip}.marquee-track{width:max-content;animation:44s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee ul{flex:none;display:flex}.marquee li{letter-spacing:-.035em;white-space:nowrap;align-items:center;gap:clamp(20px,3vw,44px);padding-right:clamp(20px,3vw,44px);font-size:clamp(1.25rem,2.6vw,2.6rem);font-weight:300;display:flex}.marquee li:nth-child(2n){font-weight:800}.marquee li:after{content:"";background:var(--swatch,var(--c));width:.42em;height:.42em;transform:rotate(8deg)}.marquee li:nth-child(4n+2){--swatch:var(--m)}.marquee li:nth-child(4n+3){--swatch:var(--y)}.marquee li:nth-child(4n+4){--swatch:var(--ink)}@keyframes marquee{to{transform:translate(-50%)}}.bleed{height:170vh;position:relative}.bleed-inner{place-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:clip}.bleed-photo{clip-path:inset(22% 26% round 18px);will-change:clip-path;position:absolute;inset:0}.bleed-photo img{object-fit:cover;width:100%;height:100%;transform:scale(1.18)}.bleed-photo:after{content:"";background:linear-gradient(#0d0e131a,#0d0e13ad);position:absolute;inset:0}.bleed-copy{inset:auto var(--gutter) clamp(28px, 5vw, 64px);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex;position:absolute}.bleed-copy .lead{max-width:25em}.no-motion .bleed{height:auto}.no-motion .bleed-inner{position:relative}.no-motion .bleed-photo{clip-path:none}.process{background:var(--ink);color:var(--paper);--ink-2:var(--on-ink-2);--line:var(--line-on-ink);overflow:clip}.process-pin{flex-direction:column;justify-content:center;gap:clamp(20px,3.4vh,40px);min-height:100svh;padding-block:clamp(84px,11vh,110px) 28px;display:flex}.process-head{padding-inline:var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.process-track{padding-inline:var(--gutter);will-change:transform;gap:clamp(16px,1.8vw,28px);width:max-content;display:flex}.step{flex:none;gap:14px;width:clamp(340px,46vw,760px);display:grid}.step-photo{aspect-ratio:16/9;border-radius:var(--radius);width:100%;max-height:50vh;overflow:hidden}.step-photo img{object-fit:cover;width:100%;height:100%}.step-text{grid-template-columns:auto 1fr;align-items:baseline;gap:4px clamp(14px,1.6vw,24px);display:grid}.step-no{font-family:var(--mono);color:var(--on-ink-2);font-size:.8rem}.step-text p{color:var(--on-ink-2);grid-column:2;max-width:32em;font-size:1rem}.process-rail{margin-inline:var(--gutter);background:var(--line-on-ink);height:2px}.process-rail i{transform-origin:0;background:linear-gradient(90deg, var(--c), var(--m), var(--y));height:100%;display:block;transform:scaleX(0)}@media (width<=899px){.process-track{flex-direction:column;width:auto}.step{width:100%}.process-rail{display:none}.process-pin{padding-block:72px}}.numbers{border-top:1px solid var(--line);grid-template-columns:repeat(12,1fr);display:grid}.number{border-bottom:1px solid var(--line);grid-column:span 6;padding:clamp(20px,2.6vw,38px) 0 clamp(36px,5vw,72px)}.number:nth-child(odd){border-right:1px solid var(--line);padding-right:24px}.number:nth-child(2n){padding-left:clamp(16px,2vw,32px)}.number b{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-block:clamp(26px,5vw,72px) 10px;font-size:clamp(2.8rem,7.5vw,8rem);font-weight:800;line-height:.92;display:block}.number b small{letter-spacing:-.03em;margin-left:.15em;font-size:.38em;font-weight:300}@media (width<=620px){.number{grid-column:span 12;border-right:0!important;padding-inline:0!important}.number b{font-size:clamp(3rem,16vw,5rem)}}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);transition:padding .45s var(--ease);grid-template-columns:4ch minmax(0,1.2fr) minmax(0,1fr) 28px;align-items:center;gap:clamp(12px,2vw,28px);padding:clamp(18px,2.2vw,32px) 0;text-decoration:none;display:grid;position:relative}.service-row h3{letter-spacing:-.04em;font-size:clamp(1.3rem,2.4vw,2.5rem);font-weight:500;line-height:1;transition:font-weight .3s}.service-row p{color:var(--ink-2);font-size:1rem}.service-row .arrow{transition:transform .4s var(--ease);font-size:1.4rem}@media (hover:hover){.service-row:hover{padding-left:14px}.service-row:hover h3{font-weight:800}.service-row:hover .arrow{transform:translate(6px)}}@media (width<=780px){.service-row{grid-template-columns:3ch 1fr 24px}.service-row p{grid-area:2/2/auto/4}}.hover-preview{z-index:60;aspect-ratio:4/3;border-radius:var(--radius);pointer-events:none;opacity:0;will-change:transform;width:clamp(240px,24vw,400px);position:fixed;top:0;left:0;overflow:hidden}.hover-preview img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.hover-preview img.on{opacity:1}@media (hover:none),(width<=780px){.hover-preview{display:none}}.machine-grid{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.4vw,20px);display:grid}.machine-card{border-radius:var(--radius);color:#fff;aspect-ratio:4/5;isolation:isolate;background:#1a1c24;flex-direction:column;grid-column:span 4;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.machine-card.big{aspect-ratio:auto;grid-column:span 8}.machine-card img{object-fit:cover;z-index:-2;width:100%;height:100%;transition:transform 1.1s var(--ease);position:absolute;inset:0}.machine-card:after{content:"";z-index:-1;background:linear-gradient(#0d0e130f 30%,#0d0e13db);position:absolute;inset:0}.machine-card:hover img{transform:scale(1.05)}.machine-body{gap:6px;padding:clamp(16px,1.8vw,26px);display:grid}.machine-body .value{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(1.9rem,3.2vw,3.3rem);font-weight:800;line-height:.95}.machine-body .label{color:#ffffffd1}.machine-body h3{letter-spacing:-.02em;margin-top:8px;font-size:clamp(1.05rem,1.25vw,1.2rem);font-weight:600;line-height:1.12}.machine-tag{backdrop-filter:blur(8px);color:#fff;background:#0d0e13b8;border-radius:6px;padding:5px 9px;position:absolute;top:14px;left:14px}@media (width<=980px){.machine-card,.machine-card.big{aspect-ratio:4/5;grid-column:span 6}}@media (width<=620px){.machine-card,.machine-card.big{aspect-ratio:5/5;grid-column:span 12}}.filters{flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,40px);display:flex}.filter{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;min-height:44px;padding:8px 16px;font-weight:500;transition:background .25s,color .25s}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.rail{gap:clamp(10px,1.2vw,18px);display:grid;overflow:clip}.rail-row{will-change:transform;gap:clamp(10px,1.2vw,18px);width:max-content;display:flex}.rail-item{aspect-ratio:3/2;border-radius:var(--radius);background:var(--paper-2);flex:none;width:clamp(220px,27vw,430px);position:relative;overflow:hidden}.rail-item img{object-fit:cover;width:100%;height:100%}.rail-item span{color:var(--ink);position:absolute;bottom:11px;left:12px}.trust{background:var(--line);border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.trust>div{background:var(--paper);align-content:space-between;gap:clamp(32px,5vw,72px);padding:clamp(20px,2.4vw,34px) clamp(16px,2vw,28px) clamp(24px,3vw,44px);display:grid}.trust.on-tint>div{background:var(--paper-2)}.trust b{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(1.3rem,1.8vw,1.85rem);font-weight:750;line-height:1;display:block}.trust p{color:var(--ink-2);font-size:.98rem}@media (width<=920px){.trust{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.trust{grid-template-columns:1fr}}.reviews{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.4vw,20px);display:grid}.review{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;grid-column:span 4;justify-content:space-between;gap:36px;padding:clamp(20px,2.2vw,32px);display:flex}.review:first-child{background:var(--ink);color:var(--paper);border-color:var(--ink);grid-column:span 8}.review:first-child blockquote{letter-spacing:-.035em;font-size:clamp(1.3rem,2.2vw,2.2rem);font-weight:500;line-height:1.06}.review:nth-child(4),.review:nth-child(2){grid-column:span 4}.review:nth-child(3){grid-column:span 8}.review:nth-child(3) blockquote{letter-spacing:-.03em;font-size:clamp(1.15rem,1.8vw,1.8rem);font-weight:500;line-height:1.1}.review blockquote{letter-spacing:-.015em;margin:0;font-size:clamp(1.02rem,1.15vw,1.15rem);line-height:1.25}.stars{gap:3px;display:flex}.stars i{background:var(--y);width:11px;height:11px;transform:rotate(8deg)}@media (width<=860px){.review,.review:first-child,.review:nth-child(n){grid-column:span 12}}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(12px,1.4vw,20px);display:grid}.news-card{align-content:start;gap:14px;text-decoration:none;display:grid}.news-card figure{aspect-ratio:3/2;border-radius:var(--radius);background:var(--paper-2);overflow:hidden}.news-card img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease)}.news-card:hover img{transform:scale(1.04)}.news-card h3{letter-spacing:-.028em;text-wrap:balance;font-size:clamp(1.12rem,1.4vw,1.35rem);font-weight:650;line-height:1.08}.news-card p{color:var(--ink-2);font-size:1rem}@media (width<=900px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.news-grid{grid-template-columns:1fr}}.cta{background:var(--ink);color:var(--paper);isolation:isolate;padding-block:clamp(72px,12vw,190px);position:relative;overflow:clip}.cta-dots{z-index:-1;opacity:.95;position:absolute;inset:0}.cta-dots i{aspect-ratio:1;mix-blend-mode:screen;filter:blur(.5px);border-radius:50%;width:clamp(220px,42vw,720px);position:absolute}.cta-dots i:first-child{background:var(--c);top:-34%;right:-13%}.cta-dots i:nth-child(2){background:var(--m);top:8%;right:3%}.cta-dots i:nth-child(3){background:var(--y);top:30%;right:-17%}.cta h2{max-width:11em;position:relative}.cta p{max-width:28em;margin-block:clamp(18px,2.4vw,30px) clamp(24px,3vw,36px)}@media (width<=760px){.cta-dots{opacity:.42}}.site-footer{background:var(--ink);color:var(--paper);padding:clamp(40px, 5vw, 72px) var(--gutter) 22px;border-top:1px solid var(--line-on-ink);--line:var(--line-on-ink);--ink-2:var(--on-ink-2);overflow:clip}.footer-grid{grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);display:grid}.footer-grid h2{color:var(--ink-2);margin-bottom:14px;font-weight:400}.footer-grid li{margin-bottom:7px}.footer-grid a{text-decoration:none}.footer-grid li a:hover,.footer-bottom a:hover{text-underline-offset:3px;text-decoration:underline}.newsletter{flex-wrap:wrap;gap:8px;max-width:480px;margin-top:24px;display:flex}.newsletter input{border:1px solid var(--line-on-ink);background:0 0;border-radius:10px;flex:150px;min-width:0;min-height:48px;padding:10px 14px}.newsletter input::placeholder{color:var(--on-ink-2)}.footer-mark{letter-spacing:-.065em;white-space:nowrap;align-items:baseline;margin-block:clamp(44px,7vw,110px) clamp(20px,3vw,40px);font-size:clamp(3.2rem,15.6vw,21rem);line-height:.78;display:flex}.footer-mark b{font-weight:800}.footer-mark span{font-weight:200}.footer-bottom{color:var(--on-ink-2);border-top:1px solid var(--line-on-ink);flex-wrap:wrap;justify-content:space-between;gap:8px 28px;padding-top:16px;display:flex}@media (width<=860px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-about{grid-column:1/-1}}@media (width<=420px){.footer-grid{grid-template-columns:1fr}}.page-hero{padding:clamp(112px, 15vh, 170px) var(--gutter) clamp(32px, 4vw, 60px)}.crumbs{color:var(--ink-2);flex-wrap:wrap;gap:4px 8px;margin-bottom:clamp(18px,2.4vw,30px);display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs li+li:before{content:"/";opacity:.5;margin-right:8px}.page-hero .lead{margin-top:clamp(20px,2.6vw,36px)}.hero-photo{margin-inline:var(--gutter);border-radius:var(--radius);height:clamp(280px,68vh,800px);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;will-change:transform;width:100%;height:118%}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(28px,5vw,80px);display:grid}.split-even{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-col{position:sticky;top:104px}.prose{gap:1.1em;max-width:40em;display:grid}.prose-large{letter-spacing:-.022em;gap:.9em;font-size:clamp(1.1rem,1.6vw,1.55rem);line-height:1.2;display:grid}.frame{border-radius:var(--radius);overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%}@media (width<=860px){.split,.split-even{grid-template-columns:1fr}.sticky-col{position:static}}.groups{border-top:1px solid var(--line)}.group{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;padding-block:clamp(20px,2.4vw,34px);display:grid}.group li{align-items:baseline;gap:12px;padding-block:5px;display:flex}.group li:before{content:"";background:var(--c);flex:none;width:8px;height:8px;transform:translateY(-1px)rotate(8deg)}.group:nth-child(4n+2) li:before{background:var(--m)}.group:nth-child(4n+3) li:before{background:var(--y)}.group:nth-child(4n+4) li:before{background:var(--ink)}@media (width<=560px){.group{grid-template-columns:1fr}}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:.95rem}.service-cards{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.4vw,20px);display:grid}.service-card{grid-column:span 6;align-content:start;gap:14px;text-decoration:none;display:grid}.service-card:nth-child(3n+1){grid-column:span 7}.service-card:nth-child(3n+2){grid-column:span 5}.service-card:nth-child(3n){grid-column:span 12}.service-card figure{border-radius:var(--radius);height:clamp(240px,38vw,560px);position:relative;overflow:hidden}.service-card img{object-fit:cover;width:100%;height:100%;transition:transform 1.1s var(--ease)}.service-card:hover img{transform:scale(1.04)}.service-card p{color:var(--ink-2);max-width:36em}.service-card-head{align-items:baseline;gap:14px;display:flex}@media (width<=720px){.service-card:nth-child(n){grid-column:span 12}.service-card figure{height:62vw}}.spec-table{border-top:1px solid var(--line)}.spec-table div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;padding-block:14px;display:grid}.spec-table dt{color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.02em;padding-top:3px;font-size:.82rem}.spec-headline b{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,9vw,9rem);font-weight:800;line-height:.9;display:block}.product-wall{grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.2vw,18px);display:grid}.product{aspect-ratio:3/2.3;border-radius:var(--radius);background:var(--paper-2);grid-column:span 4;position:relative;overflow:hidden}.product:nth-child(5n+1){aspect-ratio:auto;grid-column:span 8;min-height:100%}.product img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease);position:absolute;inset:0}.product:hover img{transform:scale(1.04)}.product figcaption{background:var(--paper);border-radius:6px;padding:5px 9px;position:absolute;bottom:11px;left:12px}@media (width<=760px){.product:nth-child(n){aspect-ratio:1;grid-column:span 6}.product:nth-child(5n+1){aspect-ratio:3/2;grid-column:span 12}}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,28px) clamp(14px,2vw,28px);display:grid}.field{gap:6px;display:grid}.field-wide{grid-column:1/-1}.field label{color:var(--ink-2)}.field input,.field select,.field textarea{border:0;border-bottom:1.5px solid var(--line);background:0 0;border-radius:0;outline:0;width:100%;min-height:52px;padding:10px 2px;font-size:clamp(1rem,1.1vw,1.1rem);transition:border-color .3s}.field select{appearance:auto}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--m)}.field input:user-invalid,.field textarea:user-invalid{border-color:#c4002f}.form-note{color:var(--ink-2);grid-column:1/-1;font-size:.95rem}.form-status{grid-column:1/-1;font-weight:600}.form-status:empty{display:none}@media (width<=560px){.form{grid-template-columns:1fr}}.contact-list{border-top:1px solid var(--line)}.contact-list a,.contact-list>div{border-bottom:1px solid var(--line);gap:4px;padding-block:clamp(18px,2.2vw,30px);text-decoration:none;display:grid}.contact-list strong{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.2rem,2vw,2rem);font-weight:600;line-height:1.04}.contact-list a:hover strong{color:#b5006b}.article{gap:1.05em;max-width:720px;display:grid}.article h2{letter-spacing:-.03em;text-wrap:balance;margin-top:.9em;font-size:clamp(1.3rem,1.9vw,1.75rem);font-weight:700;line-height:1.08}.article ul{gap:.4em;display:grid}.article li{align-items:baseline;gap:12px;display:flex}.article li:before{content:"";background:var(--m);flex:none;width:8px;height:8px;transform:translateY(-1px)rotate(8deg)}.article>p:first-child{letter-spacing:-.015em;font-size:clamp(1.1rem,1.35vw,1.3rem);line-height:1.3}.chat{right:var(--gutter);z-index:80;color:#0b1a12;min-height:46px;transition:transform .35s var(--ease);background:#fff;border:1px solid #0d0e1324;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex;position:fixed;bottom:18px;box-shadow:0 10px 30px #0d0e132e}.chat:hover{transform:translateY(-3px)}.chat i{background:#1fae54;border-radius:50%;width:9px;height:9px}@view-transition{navigation:auto}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:.4s var(--ease) both vt-out}::view-transition-new(root){animation:.6s var(--ease) both vt-in}}@keyframes vt-out{to{opacity:.5;transform:translateY(-40px)}}@keyframes vt-in{0%{clip-path:inset(100% 0 0);transform:translateY(40px)}to{clip-path:inset(0);transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.marquee-track{animation:none}}.cta h2{max-width:8.6em}.chat{opacity:0;pointer-events:none;transition:transform .35s var(--ease), opacity .3s;transform:translateY(12px)}.chat.is-on{opacity:1;pointer-events:auto;transform:none}.chat.is-on:hover{transform:translateY(-3px)}
