:root{--ink:#0e0e0e;--ink-2:#141414;--coal:#1a1a1a;--coal-2:#232322;--paper:#f8f7f4;--paper-2:#efece6;--paper-3:#e5e1d9;--stone:#bdb7ac;--mute-l:#6e6a63;--mute-d:#8e8b85;--line-l:#0e0e0e1f;--line-l2:#0e0e0e38;--line-d:#f8f7f41f;--line-d2:#f8f7f43d;--accent:#eb5e28;--dark:rgb(var(--dark-rgb,14, 14, 14));--f-display:var(--font-display), var(--font-body), system-ui, sans-serif;--f-body:var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:var(--font-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter:clamp(16px, 4vw, 56px);--ease:cubic-bezier(.2, .7, .1, 1);--ease-io:cubic-bezier(.65, 0, .35, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 60px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}body.is-locked{overflow:hidden}img,svg{display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.defs{width:0;height:0;position:absolute;overflow:hidden}.i{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.i-lg{stroke-width:1.25px;width:30px;height:30px}.mono{font-family:var(--f-mono);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.label-muted{color:var(--mute-d)}.container{max-width:1520px;padding-inline:var(--gutter);margin:0 auto}.dot{background:var(--accent);width:6px;height:6px;transition:transform .35s var(--ease);border-radius:50%;flex:none;display:inline-block}.btn{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;height:50px;padding:0 24px;font-size:14px;font-weight:500;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover .dot{transform:scale(1.7)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:#2a2a29}.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:#fff}.btn-ghost{border-color:var(--line-l2)}.btn-ghost:hover{border-color:var(--ink)}.btn[disabled]{opacity:.35;pointer-events:none}.btn-block{width:100%}.text-link{transition:background-size .45s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:10px;padding-bottom:4px;font-size:15px;font-weight:500;display:inline-flex}.text-link:hover{background-position:100% 100%;background-size:0 1px}.text-link .i{transition:transform .35s var(--ease)}.text-link:hover .i{transform:translateY(2px)}.text-link--light{color:var(--paper)}.text-link--light:hover .i{transform:translate(2px,-2px)}.icon-btn{border:1px solid var(--line-l);place-items:center;width:42px;height:42px;transition:border-color .2s,background-color .2s;display:grid}.icon-btn:hover{border-color:var(--ink)}.hero{background:var(--dark);color:var(--paper);--meta-h:64px;position:relative;overflow:hidden}.hero-meta-wrap{z-index:5;max-width:1600px;padding:24px var(--gutter) 0;pointer-events:none;margin:0 auto;position:absolute;top:0;left:0;right:0}.hero-meta{pointer-events:auto;color:var(--mute-d);border-bottom:1px solid var(--line-d);justify-content:space-between;gap:16px;padding-bottom:14px;display:flex}.hero-slides{min-height:clamp(620px, calc(100svh - var(--header) - 86px), 1040px);display:grid;position:relative}.slide{opacity:0;visibility:hidden;z-index:1;min-width:0;transition:opacity .9s var(--ease), visibility 0s linear .9s;grid-area:1/1;display:flex;position:relative}.slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity .9s var(--ease), visibility 0s}.slide-inner{z-index:2;width:100%;max-width:1600px;padding:var(--meta-h) var(--gutter) 0;flex-direction:column;margin:0 auto;display:flex;position:relative}.slide-kicker{color:#cfcbc4;align-self:flex-start;align-items:center;gap:10px;margin-top:clamp(24px,3.4vw,48px);display:inline-flex}.slide-kicker:before{content:"";background:var(--accent);width:6px;height:6px}.hero-title{z-index:1;font-family:var(--f-display);letter-spacing:-.05em;margin:clamp(28px,4.5vw,64px) 0 0;font-size:clamp(56px,12.2vw,214px);font-weight:700;line-height:.84;position:relative}.slide-kicker+.hero-title{margin-top:clamp(14px,2vw,28px)}.hero-title--media{font-size:clamp(48px,9.4vw,168px)}.ht-line{display:block}.ht-2{padding-left:17%}.ht-3{padding-left:3%}.ht-outline{color:#0000;-webkit-text-stroke:1px #f8f7f480}.slide--image .ht-outline,.slide--video .ht-outline{-webkit-text-stroke-color:#f8f7f4d9}.ht-dot{color:var(--accent)}.slide .ht-line,.slide .slide-kicker,.slide .hero-foot>*{opacity:0;transition:opacity .8s var(--ease), transform 1s var(--ease);transform:translateY(26px)}.slide.is-active .ht-line,.slide.is-active .slide-kicker,.slide.is-active .hero-foot>*{opacity:1;transform:none}.slide.is-active .ht-line:first-child{transition-delay:80ms}.slide.is-active .ht-line:nth-child(2){transition-delay:.16s}.slide.is-active .ht-line:nth-child(3){transition-delay:.24s}.slide.is-active .ht-line:nth-child(4){transition-delay:.32s}.slide.is-active .hero-foot>*{transition-delay:.35s}.hero-stage{z-index:2;right:calc(var(--gutter) - 1vw);top:calc(var(--meta-h) + clamp(24px, 4vw, 64px));aspect-ratio:410/370;color:#f8f7f46b;opacity:0;width:min(43vw,680px);transition:opacity 1s var(--ease) .1s, transform 1.2s var(--ease) .1s;margin:0;position:absolute;transform:translateY(16px)}.slide.is-active .hero-stage{opacity:1;transform:none}.hero-stage svg,.hero-stage .p-img{width:100%;height:100%;overflow:visible}.slide-media{z-index:0;background:var(--coal);position:absolute;inset:0;overflow:hidden}.slide-media img,.slide-media video{object-fit:cover;width:100%;height:100%;display:block}.slide--image .slide-media img{transition:transform 9s linear;transform:scale(1.07)}.slide--image.is-active .slide-media img{transform:scale(1)}.slide-media:after{content:"";pointer-events:none;background:linear-gradient(to bottom, rgba(14, 14, 14, calc(var(--overlay,.2) * 1.1)), #0e0e0e00 24%), linear-gradient(to top, rgba(14, 14, 14, calc(var(--overlay,.2) * 1.5)), #0e0e0e00 42%), linear-gradient(90deg, rgba(14, 14, 14, var(--overlay,.2)) 0%, rgba(14, 14, 14, calc(var(--overlay,.2) * .4)) 70%);position:absolute;inset:0}.slide--full .slide-inner{justify-content:flex-end}.slide--full .hero-title{margin-top:auto}.slide--framed .slide-media{inset:auto;top:calc(var(--meta-h) + clamp(24px, 3vw, 48px));bottom:clamp(110px,11vw,150px);right:max(var(--gutter), calc((100vw - 1600px) / 2 + var(--gutter)));width:min(46vw,760px)}.slide--framed .slide-media:after{background:linear-gradient(to top, rgba(14, 14, 14, calc(var(--overlay,.45) * .8)), #0e0e0e00 60%)}.slide--framed .slide-media{clip-path:inset(0 0 100%);transition:clip-path 1.2s var(--ease-io)}.slide--framed.is-active .slide-media{clip-path:inset(0)}.hero-foot{z-index:3;grid-template-columns:repeat(12,1fr);align-items:end;column-gap:24px;margin-top:auto;padding:clamp(36px,5vw,64px) 0 clamp(32px,4vw,56px);display:grid;position:relative}.hero-lede{flex-direction:column;grid-column:1/span 4;align-items:flex-start;gap:22px;display:flex}.hero-lede p{color:#bdb9b2;max-width:42ch;font-size:16px}.slide--image .hero-lede p,.slide--video .hero-lede p{color:#e2ded7}.hero-feature{border-top:1px solid var(--line-d2);grid-column:5/span 3;padding-top:14px}.hf-row{justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;display:flex}.hf-name{font-family:var(--f-display);letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1}.hf-open{color:#cfcbc4;align-items:center;gap:6px;font-size:13px;display:inline-flex}.hf-open:hover{color:var(--paper)}.hf-open .i{width:15px;height:15px;transition:transform .3s var(--ease)}.hf-open:hover .i{transform:translate(3px)}.hf-series{color:var(--mute-d);margin-top:6px;font-size:14px}.hf-spec{color:#cfcbc4;margin-top:14px;font-size:11.5px}.hero-controls{z-index:6;right:max(var(--gutter), calc((100vw - 1600px) / 2 + var(--gutter)));align-items:center;gap:18px;display:flex;position:absolute;bottom:clamp(32px,4vw,56px)}.hc-count{color:var(--mute-d);white-space:nowrap;font-size:11.5px}.hc-count b{color:var(--paper);font-weight:500}.hc-label{color:#cfcbc4;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:11px;overflow:hidden}.hc-progress{gap:6px;display:flex}.hc-progress button{align-items:center;width:44px;height:16px;display:flex}.hc-progress i{background:var(--line-d2);width:100%;height:1px;display:block;position:relative;overflow:hidden}.hc-progress i:after{content:"";background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.hc-progress .is-done i:after{background:var(--paper);opacity:.55;transform:scaleX(1)}.hc-progress .is-active i:after{animation:progress var(--dur,7s) linear forwards}.hero.is-paused .hc-progress .is-active i:after{animation-play-state:paused}@keyframes progress{to{transform:scaleX(1)}}.hc-arrows{gap:6px;display:flex}.hc-btn{border:1px solid var(--line-d2);place-items:center;width:40px;height:40px;transition:border-color .2s,background-color .2s;display:grid}.hc-btn:hover{border-color:var(--paper)}.hc-btn .i{width:16px;height:16px}.hc-prev .i{transform:scaleX(-1)}.hero-index{z-index:3;border-top:1px solid var(--line-d);grid-template-columns:repeat(6,1fr);max-width:1600px;margin:0 auto;display:grid;position:relative}.hi-cell{text-align:left;border-right:1px solid var(--line-d);grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;padding:20px clamp(14px,1.6vw,24px);transition:background-color .3s;display:grid;position:relative}.hi-cell:last-child{border-right:0}.hi-cell:before{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .45s var(--ease);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.hi-cell:hover{background:var(--ink-2)}.hi-cell:hover:before{transform:scaleX(1)}.hi-num{color:var(--mute-d);grid-row:span 2;align-self:start;padding-top:3px}.hi-name{white-space:nowrap;font-size:15px;font-weight:500}.hi-count{color:var(--mute-d);grid-column:2;font-size:11px}.hi-cell .i{color:var(--mute-d);transition:transform .35s var(--ease), color .2s;grid-area:1/3/span 2}.hi-cell:hover .i{color:var(--paper);transform:translateY(3px)}.section-head{grid-template-columns:repeat(12,1fr);align-items:end;gap:18px 24px;padding-bottom:clamp(36px,5vw,64px);display:grid}.sh-label{color:var(--mute-l);grid-column:1/-1;align-self:start}.sh-title{font-family:var(--f-display);letter-spacing:-.045em;grid-column:1/span 8;font-size:clamp(42px,6.4vw,104px);font-weight:700;line-height:.9}.sh-text{color:var(--mute-l);grid-column:9/span 4;max-width:44ch;font-size:15px}.catalog{background:var(--paper);padding-top:clamp(72px,9vw,136px);padding-bottom:clamp(72px,9vw,128px)}.filterbar{top:var(--header);z-index:30;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l);background:#f8f7f4f7;position:sticky}.fb-inner{align-items:center;gap:20px;display:flex}.fb-scroll{scrollbar-width:none;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.fb-scroll::-webkit-scrollbar{display:none}.fb-group{gap:2px;display:flex}.fb-sep{background:var(--line-l2);flex:none;width:1px;height:18px;margin-inline:10px}.chip{color:var(--mute-l);white-space:nowrap;align-items:center;gap:8px;padding:20px 12px 19px;font-size:14px;transition:color .2s;display:inline-flex;position:relative}.chip .i{width:16px;height:16px}.chip:after{content:"";background:var(--accent);height:2px;transition:transform .35s var(--ease);position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(0)}.chip:hover,.chip.is-active{color:var(--ink)}.chip.is-active:after{transform:scaleX(1)}.fb-right{flex:none;align-items:center;gap:22px;display:flex}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-box{border:1px solid var(--line-l2);place-items:center;width:16px;height:16px;transition:background-color .2s,border-color .2s;display:grid}.toggle-box .i{stroke-width:2px;width:12px;height:12px;color:var(--paper);opacity:0}.toggle input:checked+.toggle-box{background:var(--ink);border-color:var(--ink)}.toggle input:checked+.toggle-box .i{opacity:1}.toggle input:focus-visible+.toggle-box{outline:1.5px solid var(--accent);outline-offset:2px}.fb-count{color:var(--mute-l);text-align:right;min-width:64px}.grid-wrap{border-left:1px solid var(--line-l);margin-top:-1px;overflow:hidden}.grid{grid-template-columns:repeat(3,1fr);margin-right:-1px;display:grid}.card{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);background:var(--paper);flex-direction:column;padding:clamp(14px,1.4vw,22px);display:flex;position:relative}.card.is-entering{animation:cardIn .55s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}}.card-media{aspect-ratio:1/1.04;cursor:pointer;background:var(--paper-2);position:relative;overflow:hidden}.view{place-items:center;padding:6% 8% 4%;display:grid;position:absolute;inset:0}.view svg{width:100%;height:100%}.view-studio svg{transition:transform .9s var(--ease)}.view-tech{background:var(--ink);color:#f8f7f4c7;clip-path:inset(100% 0 0);transition:clip-path .7s var(--ease-io)}.card-media:hover .view-tech,.card-media:focus-visible .view-tech{clip-path:inset(0)}.view-label{color:var(--mute-d);font-size:10.5px;position:absolute;top:14px;left:14px}.view-label b{color:var(--accent);font-weight:400}.badges{z-index:2;gap:6px;transition:opacity .3s;display:flex;position:absolute;top:12px;left:12px}.card-media:hover .badges{opacity:0}.badge{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;background:var(--paper);color:var(--ink);align-items:center;gap:5px;padding:5px 8px;font-size:10.5px;display:inline-flex}.badge .i{width:13px;height:13px}.badge-new{color:#b3431b}.media-env{color:var(--mute-l);z-index:2;gap:6px;transition:opacity .3s;display:flex;position:absolute;bottom:12px;right:12px}.media-env .i{width:16px;height:16px}.card-media:hover .media-env{opacity:0}.card-body{flex-direction:column;gap:4px;padding-top:16px;display:flex}.card-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-name{font-family:var(--f-display);letter-spacing:-.025em;font-size:23px;font-weight:600;line-height:1.1}.card-name button:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.card-code{color:var(--mute-l);font-size:11px}.card-series{color:var(--mute-l);min-width:0;font-size:13.5px}.card-sub{align-items:baseline}.card-brand{color:var(--mute-l);letter-spacing:.08em;text-transform:uppercase;opacity:.8;flex:none;font-size:10px}.card-brand:has(img){opacity:.55;align-items:center;height:16px;transition:opacity .25s;display:inline-flex}.card-brand img{object-fit:contain;object-position:right center;filter:grayscale();width:auto;max-width:60px;height:100%;transition:filter .25s;display:block}.card:hover .card-brand:has(img){opacity:1}.card:hover .card-brand img{filter:none}.sw-more{min-width:24px;min-height:24px;color:var(--mute-l);letter-spacing:.02em;white-space:nowrap;flex:none;justify-content:center;align-items:center;font-size:10.5px;display:inline-flex}.sw-more:hover{color:var(--ink,inherit)}.card-foot{margin-top:14px}.swatches{align-items:center;gap:8px;display:flex}.card .swatches{gap:11px}.sw{background:var(--c);border-radius:50%;width:14px;height:14px;transition:transform .2s;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.sw:after{content:"";border:1px solid #0000;border-radius:50%;transition:border-color .2s;position:absolute;inset:-4px}.sw:hover{transform:scale(1.12)}.sw.is-active:after{border-color:var(--ink)}.swatches.lg .sw{width:22px;height:22px}.swatches.lg .sw:after{inset:-5px}.card-actions{align-items:center;gap:14px;display:flex}.link-btn{transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding:4px 0;font-size:13.5px;font-weight:500}.link-btn:hover{background-size:100% 1px}.add-btn{border:1px solid var(--line-l2);align-items:center;gap:8px;height:36px;padding:0 10px 0 12px;font-size:13px;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.add-btn .i{width:16px;height:16px}.add-btn .ic-check{display:none}.add-btn:hover{border-color:var(--ink)}.add-btn.is-added{background:var(--ink);color:var(--paper);border-color:var(--ink)}.add-btn.is-added .ic-plus{display:none}.add-btn.is-added .ic-check{color:var(--accent);display:block}.empty{text-align:center;color:var(--mute-l);flex-direction:column;align-items:center;gap:18px;padding:72px 0;display:flex}.empty[hidden]{display:none}.p-shadow{fill:#1e181033}.hero .p-shadow{fill:#0009}.p-floor{fill:#f8f7f40d}.t-shell,.t-frame,.t-back,.t-ground{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.t-shell,.t-frame{stroke-width:1.3px}.t-back{stroke-width:1px;opacity:.45;stroke-dasharray:4 4}.t-ground{stroke-width:1px;opacity:.35}.dim line{stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.dim .ext{opacity:.45;stroke-dasharray:2 3}.dim .tick{stroke:var(--accent);stroke-width:1.4px}.dim text{fill:currentColor;font-family:var(--f-mono);letter-spacing:.06em;font-size:11px}.hero .dim text{font-size:9px}.projects{background:var(--dark);color:var(--paper);padding-top:clamp(72px,9vw,136px);padding-bottom:2px}.projects .sh-label,.projects .sh-text{color:var(--mute-d)}.proj-grid{grid-template-columns:repeat(12,1fr);gap:2px;display:grid}.tile{background:var(--coal);isolation:isolate;position:relative;overflow:hidden}.tile.s7{grid-column:span 7}.tile.s5{grid-column:span 5}.tile.s4{grid-column:span 4}.tile.s12{grid-column:span 12}.tile.r1{height:clamp(320px,42vw,640px)}.tile.r2{height:clamp(300px,30vw,460px)}.tile.r3{height:clamp(320px,40vw,640px)}.tile svg{width:100%;height:100%;transition:transform 1.6s var(--ease);z-index:-2;position:absolute;inset:0}.tile:hover svg{transform:scale(1.035)}.tile:after{content:"";z-index:-1;background:linear-gradient(#0a0a0a80 0%,#0a0a0a00 24%),linear-gradient(#0a0a0a00 40%,#0a0a0a33 58%,#0a0a0ad1 100%);position:absolute;inset:0}.tile-top{color:var(--paper);text-shadow:0 1px 10px #00000059;justify-content:flex-end;align-items:baseline;gap:16px;display:flex;position:absolute;top:18px;left:20px;right:20px}.tile-year{font-family:var(--f-display);letter-spacing:-.01em;font-weight:500;line-height:1.15}.tile-main{flex-direction:column;gap:5px;min-width:0;display:flex}.tile-type{color:#f8f7f4b8;font-size:var(--tile-type,clamp(12px, .95vw, 14px));margin:0;font-weight:500;line-height:1.3}.tile-year{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--tile-year,clamp(12px, .95vw, 14px))}.tile-body{justify-content:space-between;align-items:end;gap:20px;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.tile-name{font-family:var(--f-display);font-weight:600;font-size:var(--tile-name,clamp(19px, 1.7vw, 27px));letter-spacing:-.03em;line-height:1.05}.tile-side{text-align:right;flex-shrink:0;place-items:end;max-width:45%;display:grid}.tile-place{color:#f8f7f4b8;font-weight:500;font-size:var(--tile-place,clamp(12px, .95vw, 14px));transition:opacity .35s var(--ease);grid-area:1/1;margin:0;line-height:1.3}.tile.has-items:hover .tile-place,.tile.has-items:focus-within .tile-place{opacity:0}.tile-items{text-align:right;opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);flex-direction:column;grid-area:1/1;gap:4px;display:flex;transform:translateY(8px)}.tile:hover .tile-items,.tile:focus-within .tile-items{opacity:1;transform:none}.tile-items span.mono{color:var(--mute-d);font-size:10.5px}.tile-items button{color:var(--paper);text-align:right;font-size:14px}.tile-items button:hover{color:var(--accent)}.about{background:var(--paper);padding:clamp(80px,10vw,150px) 0}.about-grid{grid-template-columns:repeat(12,1fr);gap:48px 24px;display:grid}.about-left{flex-direction:column;grid-column:1/span 6;gap:28px;display:flex}.about-left .sh-label{padding-top:0}.about-title{font-family:var(--f-display);letter-spacing:-.035em;font-size:clamp(28px,3.3vw,50px);font-weight:500;line-height:1.08}.about-title em{color:var(--mute-l);font-style:normal}.about-text{color:var(--mute-l);max-width:50ch}.steps{border-top:1px solid var(--line-l);border-left:1px solid var(--line-l);grid-column:8/span 5;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.step{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);flex-direction:column;gap:10px;padding:24px 22px 28px;display:flex}.step .i{margin-bottom:18px}.step .mono{color:var(--mute-l)}.step h3{letter-spacing:-.01em;font-size:17px;font-weight:600}.step p{color:var(--mute-l);font-size:14px}.site-footer{background:var(--dark);color:var(--paper);padding-top:clamp(80px,10vw,140px);overflow:hidden}.cta{border-bottom:1px solid var(--line-d);grid-template-columns:repeat(12,1fr);align-items:end;gap:32px 24px;padding-bottom:clamp(56px,7vw,96px);display:grid}.cta-title{font-family:var(--f-display);letter-spacing:-.05em;grid-column:1/span 7;font-size:clamp(48px,8vw,132px);font-weight:700;line-height:.88}.cta-side{flex-direction:column;grid-column:9/span 4;gap:28px;display:flex}.cta-side p{color:#bdb9b2}.cta-actions{flex-wrap:wrap;align-items:center;gap:20px 28px;display:flex}.foot-cols{grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 0;display:grid}.foot-cols p{color:#cfcbc4;margin-top:12px;font-size:14px;line-height:1.9}.foot-cols a:hover{color:var(--paper);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.foot-mark{border-top:1px solid var(--line-d);padding:clamp(24px,4vw,56px) 0 clamp(32px,4vw,56px)}.foot-mark img{width:min(100%,560px);height:auto}.foot-legal{color:var(--mute-d);border-top:1px solid var(--line-d);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:22px 0 28px;font-size:11px;display:flex}.scrim{z-index:80;opacity:0;transition:opacity .45s var(--ease);background:#0a0a0a80;position:fixed;inset:0}.scrim.is-on{opacity:1}.drawer{z-index:90;background:var(--paper);width:min(780px,100vw);color:var(--ink);visibility:hidden;transition:transform .6s var(--ease), visibility 0s linear .6s;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.is-open{visibility:visible;transition:transform .6s var(--ease), visibility 0s;transform:none}.drawer--quote{width:min(580px,100vw)}.drawer--quote.is-stacked{z-index:95}.drawer-head{border-bottom:1px solid var(--line-l);flex:none;justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 clamp(18px,2.4vw,32px);display:flex}.drawer-head .mono{color:var(--mute-l)}.drawer-head .mono b{color:var(--ink);font-weight:500}.pd-crumbs a,.pd-series a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.pd-crumbs a:hover,.pd-series a:hover{color:var(--ink);text-decoration-color:currentColor}.drawer-body{overscroll-behavior:contain;flex:1;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line-l);background:var(--paper);flex:none;padding:16px clamp(18px,2.4vw,32px)}.pad{padding:clamp(20px,2.6vw,34px) clamp(18px,2.4vw,32px)}.pd-visual{background:var(--paper-2);position:relative}.pd-tabs{z-index:2;gap:18px;display:flex;position:absolute;top:16px;left:clamp(18px,2.4vw,32px)}.pd-tab{color:var(--mute-l);padding:6px 0;font-size:13px;position:relative}.pd-tab:after{content:"";background:var(--accent);height:1.5px;transition:transform .3s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.pd-tab[aria-selected=true]{color:var(--ink)}.pd-tab[aria-selected=true]:after{transform:scaleX(1)}.pd-visual.is-tech{background:var(--ink)}.pd-visual.is-tech .pd-tab{color:var(--mute-d)}.pd-visual.is-tech .pd-tab[aria-selected=true]{color:var(--paper)}.pd-stage{aspect-ratio:16/11;place-items:center;padding:56px 10% 12px;display:grid}.pd-stage svg{width:100%;height:100%}.pd-visual.is-tech .pd-stage{color:#f8f7f4cc}.pd-swrow{justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(18px,2.4vw,32px) 18px;display:flex}.pd-swrow .mono{color:var(--mute-l)}.pd-visual.is-tech .pd-swrow .mono{color:var(--mute-d)}.pd-visual.is-tech .sw.is-active:after{border-color:var(--paper)}.pd-titlerow{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.pd-title{font-family:var(--f-display);letter-spacing:-.045em;font-size:clamp(36px,4.4vw,56px);font-weight:700;line-height:.95}.pd-series{color:var(--mute-l);margin-top:10px;font-size:14.5px}.pd-desc{max-width:60ch;margin-top:18px}.pd-flags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.flag{border:1px solid var(--line-l);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.flag .i{width:16px;height:16px;color:var(--mute-l)}.pd-sec{border-top:1px solid var(--line-l)}.sec-title{letter-spacing:.01em;align-items:baseline;gap:14px;margin-bottom:20px;font-size:13px;font-weight:600;display:flex}.sec-title .mono{color:var(--accent);font-weight:400}.dims{grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;display:grid}.box-diagram{color:var(--ink);background:var(--paper-2);padding:12px}.box-diagram svg{width:100%;height:auto}.box-diagram .bx{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round}.box-diagram .bx-face{fill:#0e0e0e0a;stroke:currentColor;stroke-width:1.2px}.box-diagram .bx-hidden{stroke-dasharray:3 3;opacity:.4}.box-diagram text{font-family:var(--f-mono);fill:currentColor;letter-spacing:.05em;font-size:10px}.box-diagram .bx-dim{stroke:var(--mute-l);stroke-width:1px}.box-diagram .bx-key{fill:var(--accent)}.spec{grid-template-columns:auto 1fr;margin:0;display:grid}.spec dt,.spec dd{border-bottom:1px solid var(--line-l);margin:0;padding:11px 0;font-size:14px}.spec dt{color:var(--mute-l);padding-right:20px}.spec dd{text-align:right;font-family:var(--f-mono);font-size:13px}.spec.text dd{font-family:var(--f-body);font-size:14px}.spec dt:first-of-type,.spec dt:first-of-type+dd{border-top:1px solid var(--line-l)}.stack-row{grid-template-columns:160px 1fr;align-items:center;gap:28px;display:grid}.stack-art{color:var(--ink);background:var(--paper-2);aspect-ratio:1;place-items:center;padding:10px;display:grid}.stack-art svg{width:100%;height:100%}.stack-num{font-family:var(--f-display);letter-spacing:-.04em;font-size:44px;font-weight:700;line-height:1}.stack-row p{color:var(--mute-l);max-width:42ch;margin-top:8px;font-size:14px}.files{border-top:1px solid var(--line-l);margin:0;padding:0;list-style:none}.file-row{border-bottom:1px solid var(--line-l);text-align:left;width:100%;transition:padding .3s var(--ease);grid-template-columns:34px 1fr auto auto;align-items:center;gap:14px;padding:14px 0;display:grid}.file-row:hover{padding-left:6px}.file-row .i{width:22px;height:22px;color:var(--mute-l)}.file-row .fr-name{font-size:14.5px;font-weight:500}.file-row .fr-name small{color:var(--mute-l);font-size:12.5px;font-weight:400;display:block}.file-row .mono{color:var(--mute-l);font-size:11px}.file-row .fr-ext{font-family:var(--f-mono);border:1px solid var(--line-l2);padding:4px 7px;font-size:11px}.file-row.is-requested .fr-ext{border-color:var(--ink);background:var(--ink);color:var(--paper)}.gate{background:var(--paper-2);margin-top:18px;padding:18px;display:none}.gate.is-open{animation:cardIn .4s var(--ease);display:block}.gate p{color:var(--mute-l);margin-bottom:12px;font-size:13.5px}.gate-row{align-items:end;gap:10px;display:flex}.gate-row .field{flex:1}.form{flex-direction:column;gap:22px;display:flex}.row2{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span,.fieldset-label{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute-l);font-size:10.5px}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--line-l2);background:0 0;border-radius:0;outline:none;width:100%;padding:9px 0 10px;font-size:15px;transition:border-color .2s}.field textarea{resize:vertical;min-height:64px}.field select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E0E0E' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") 100%/16px no-repeat;padding-right:22px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field.is-invalid input,.field.is-invalid select{border-color:var(--accent)}.field .err{color:var(--accent);font-size:12px;display:none}.field.is-invalid .err{display:block}fieldset{border:0;min-width:0;margin:0;padding:0}.fieldset-label{margin-bottom:10px;display:block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-opt{position:relative}.chip-opt input{opacity:0;pointer-events:none;position:absolute}.chip-opt span,.qchip{border:1px solid var(--line-l2);cursor:pointer;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13.5px;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.chip-opt span .i{width:16px;height:16px}.chip-opt span:hover,.qchip:hover{border-color:var(--ink)}.chip-opt input:checked+span,.qchip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip-opt input:focus-visible+span{outline:1.5px solid var(--accent);outline-offset:2px}.qchip{font-family:var(--f-mono);font-size:12.5px}.qty-line{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.stepper{border:1px solid var(--line-l2);align-items:center;height:36px;display:inline-flex}.stepper button{width:34px;height:100%;color:var(--mute-l);place-items:center;display:grid}.stepper button:hover{color:var(--ink);background:var(--paper-2)}.stepper .i{width:15px;height:15px}.stepper input{border:0;border-inline:1px solid var(--line-l);text-align:center;width:62px;height:100%;font-family:var(--f-mono);-moz-appearance:textfield;background:0 0;outline:none;font-size:13.5px}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.check{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.form-note{color:var(--mute-l);font-size:12.5px}.success{animation:cardIn .5s var(--ease);flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0;display:flex}.success .ref{font-family:var(--f-mono);border:1px solid var(--line-l2);padding:6px 10px;font-size:13px}.success h4{font-family:var(--f-display);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:600;line-height:1.1}.success p{color:var(--mute-l);max-width:48ch;font-size:14.5px}.success-mark{border:1px solid var(--ink);place-items:center;width:44px;height:44px;display:grid}.success-mark .i{color:var(--accent);stroke-width:1.75px;width:22px;height:22px}.qd-title{font-family:var(--f-display);letter-spacing:-.02em;align-items:baseline;gap:10px;font-size:20px;font-weight:600;display:flex}.qd-title .mono{color:var(--mute-l)}.q-items{margin:0;padding:0;list-style:none}.q-item{border-bottom:1px solid var(--line-l);grid-template-columns:76px 1fr auto;gap:16px;padding:18px 0;display:grid}.q-item:first-child{padding-top:0}.q-thumb{background:var(--paper-2);width:76px;height:76px;padding:6px}.q-thumb svg{width:100%;height:100%}.q-name{font-family:var(--f-display);letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.15}.q-sub{color:var(--mute-l);align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}.q-sub .sw{width:10px;height:10px}.q-qty{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.q-qty .qchip{height:30px;padding:0 10px;font-size:11.5px}.q-qty .stepper{height:30px}.q-qty .stepper input{width:56px}.q-qty .stepper button{width:28px}.q-remove{color:var(--mute-l);align-self:start;place-items:center;width:34px;height:34px;display:grid}.q-remove:hover{color:var(--ink)}.q-summary{color:var(--mute-l);justify-content:space-between;gap:12px;margin-top:16px;display:flex}.q-summary b{color:var(--ink);font-weight:500}.q-empty{text-align:center;color:var(--mute-l);flex-direction:column;align-items:center;gap:14px;padding:28px 0 8px;display:flex}.q-empty .i{stroke-width:1.25px;width:34px;height:34px;color:var(--stone)}.q-empty p{max-width:34ch;font-size:14.5px}.qd-block{border-top:1px solid var(--line-l)}.qd-block:first-child{border-top:0}.qd-foot-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.toast{z-index:120;background:var(--ink);max-width:calc(100vw - 32px);color:var(--paper);transition:transform .5s var(--ease);pointer-events:none;align-items:center;gap:12px;padding:14px 18px;font-size:13.5px;display:inline-flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%,160%);box-shadow:0 10px 40px #0000002e}.toast.is-on{transform:translate(-50%)}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}@media (max-width:1180px){.grid{grid-template-columns:repeat(2,1fr)}.hero-index{grid-template-columns:repeat(3,1fr)}.hi-cell:nth-child(3){border-right:0}.hi-cell:nth-child(-n+3){border-bottom:1px solid var(--line-d)}.hero-lede{grid-column:1/span 5}.hero-feature{grid-column:6/span 3}.steps{grid-column:7/span 6}.fb-right .toggle span:last-child{white-space:nowrap}}@media (max-width:960px){.main-nav{top:var(--header);padding:8px var(--gutter) 20px;background:var(--dark);border-bottom:1px solid var(--line-d);font-size:22px;font-family:var(--f-display);letter-spacing:-.02em;clip-path:inset(0 0 100%);transition:clip-path .5s var(--ease-io);visibility:hidden;flex-direction:column;gap:0;font-weight:600;position:absolute;left:0;right:0}.main-nav.is-open{clip-path:inset(0);visibility:visible}.main-nav a{border-bottom:1px solid var(--line-d);color:var(--paper);padding:14px 0}.main-nav a:after{display:none}.menu-btn{display:grid}.quote-trigger>span:not(.quote-count){display:none}.hero-stage{width:min(100%,620px);margin:-6vw 0 0 auto;position:relative;top:auto;right:auto}.hero-foot{row-gap:28px;margin-top:auto;padding-bottom:96px}.hero-controls{left:var(--gutter);right:var(--gutter);justify-content:space-between;gap:12px;bottom:28px}.hc-label{display:none}.hc-progress{flex:1}.hc-progress button{flex:1;width:auto}.slide--framed .slide-media{width:auto;height:46vw;min-height:240px;margin:0 var(--gutter);order:2;position:relative;inset:auto}.slide--framed{flex-direction:column}.slide--framed .slide-inner{order:1}.hero-lede{grid-column:1/-1}.hero-feature{grid-column:1/-1;max-width:420px}.section-head{grid-template-columns:1fr}.sh-label,.sh-title,.sh-text{grid-column:1/-1}.sh-label{padding-top:0}.tile.s7,.tile.s5{grid-column:span 12}.tile.s4{grid-column:span 6}.tile.s4:last-of-type{grid-column:span 12}.about-left,.steps,.cta-title,.cta-side{grid-column:1/-1}.foot-cols{grid-template-columns:repeat(2,1fr)}.dims{grid-template-columns:1fr}}@media (max-width:640px){.hide-sm{display:none}.hero-title{font-size:clamp(38px,13vw,110px)}.ht-2,.ht-3{padding-left:0}.hero-title--media{font-size:clamp(36px,11.5vw,90px)}.hero-stage{width:100%;margin-top:-2vw}.hero-index{grid-template-columns:repeat(2,1fr)}.hi-cell{border-bottom:1px solid var(--line-d)}.hi-cell:nth-child(3){border-right:1px solid var(--line-d)}.hi-cell:nth-child(2n){border-right:0}.hi-cell:nth-last-child(-n+2){border-bottom:0}.hi-count{display:none}.fb-inner{flex-direction:column;align-items:stretch;gap:0;padding-inline:0}.fb-scroll{padding-inline:var(--gutter)}.fb-right{padding:10px var(--gutter);border-top:1px solid var(--line-l);justify-content:space-between}.chip{padding:16px 10px 15px}.grid{grid-template-columns:1fr}.tile.s4{grid-column:span 12}.tile-items{display:none}.tile.has-items:is(:hover,:focus-within) .tile-place{opacity:1}.tile-top{top:14px;left:16px;right:16px}.tile-body{gap:14px;bottom:16px;left:16px;right:16px}.steps{grid-template-columns:1fr}.foot-cols{grid-template-columns:1fr 1fr}.row2{grid-template-columns:1fr}.stack-row{grid-template-columns:110px 1fr;gap:18px}.q-item{grid-template-columns:60px 1fr auto;gap:12px}.q-thumb{width:60px;height:60px}.gate-row{flex-direction:column;align-items:stretch}}@media (hover:none){.view-tech{display:none}.badges,.media-env{opacity:1!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}.view.is-photo{padding:0}.view-tech.is-photo{background:var(--paper-2)}.p-img{object-fit:contain;width:100%;height:100%;display:block}.p-img.is-cover{object-fit:cover}.p-img.is-tech{object-fit:contain;filter:invert()grayscale();mix-blend-mode:screen;padding:8%}.view-studio .p-img{transition:transform .9s var(--ease)}.card-media:hover .view-studio .p-img{transform:scale(1.02)}.stage-layer .p-img.is-hero{object-fit:contain}.pd-stage .p-img{max-height:100%}.pd-visual.is-tech .p-img.is-tech{padding:0}.pd-visual:not(.is-tech) .p-img.is-tech{filter:none;mix-blend-mode:normal}.tile-img{object-fit:cover;z-index:-2;width:100%;height:100%;transition:transform 1.6s var(--ease);position:absolute;inset:0}.tile:hover .tile-img{transform:scale(1.035)}.hero-index{grid-template-columns:repeat(var(--cells,6), minmax(0, 1fr))}@media (max-width:1180px){.hero-index{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.hero-index{grid-template-columns:repeat(2,1fr)}}.fb-subs{border-top:1px solid var(--line-l);background:var(--paper)}.fb-subs[hidden]{display:none}.fb-sub-inner{scrollbar-width:none;align-items:center;gap:2px;display:flex;overflow-x:auto}.fb-sub-inner::-webkit-scrollbar{display:none}.fb-sub-label{color:var(--mute-l);white-space:nowrap;margin-right:14px;font-size:11px}.chip-sm{padding:13px 10px 12px;font-size:13px}.chip-sm:after{left:10px;right:10px}.wa-inline{border:1px solid var(--line-l2);align-items:center;gap:10px;height:42px;margin-top:18px;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .2s,background-color .2s;display:inline-flex}.wa-inline:hover{border-color:var(--ink)}.wa-float{z-index:70;background:var(--ink);width:54px;height:54px;color:var(--paper);border:1px solid var(--line-d2);transition:transform .3s var(--ease), border-color .2s;place-items:center;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #00000040}.wa-float .i{width:24px;height:24px}.wa-float:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.wa-float:hover{border-color:var(--paper);transform:translateY(-2px)}body.is-locked .wa-float{opacity:0;pointer-events:none}.to-top{z-index:70;cursor:pointer;background:var(--paper);width:54px;height:54px;color:var(--ink);border:1px solid var(--line-l2);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), transform .4s var(--ease), visibility .3s, border-color .2s, background-color .2s, color .2s;place-items:center;padding:0;display:grid;position:fixed;bottom:20px;right:20px;transform:translateY(12px);box-shadow:0 10px 30px #0000001f}.wa-float~.to-top{bottom:84px}.to-top .i{width:20px;height:20px;transition:transform .3s var(--ease)}.to-top.is-on{opacity:1;visibility:visible;transform:none}.to-top:hover{background:var(--ink);color:var(--paper);border-color:var(--line-d2)}.to-top:hover .i{transform:translateY(-2px)}.to-top:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body.is-locked .to-top{opacity:0;pointer-events:none}@media (max-width:640px){.to-top{width:46px;height:46px;right:24px}.wa-float~.to-top{bottom:84px}}.socials{gap:14px;margin-top:18px;display:flex}.socials a{color:#cfcbc4;transition:color .2s}.socials a:hover{color:var(--paper)}.socials .i{width:20px;height:20px}.foot-muted{color:var(--mute-d)}.page-top .catalog{padding-top:clamp(40px,5vw,72px)}.crumbs{color:var(--mute-l);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;font-size:11px;display:flex}.crumbs a{color:var(--mute-l);transition:color .2s}.crumbs a:hover,.crumbs [aria-current]{color:var(--ink)}.seo-list{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;list-style:none;position:absolute;overflow:hidden}.seo-list a{color:var(--mute-l)}.grid:has(>.seo-list:only-child){--cell-w:calc(100% / 3);--cell-h:430px;background:linear-gradient(90deg, transparent calc(100% - 1px), var(--line-l) 0) 0 0 / var(--cell-w) var(--cell-h), linear-gradient(transparent calc(100% - 1px), var(--line-l) 0) 0 0 / 100% var(--cell-h);min-height:min(1100px,150vh);animation:1.4s ease-in-out infinite alternate grid-wait}.grid.grid-dense:has(>.seo-list:only-child){--cell-w:calc(100% / 6);--cell-h:330px}@media (max-width:1600px){.grid.grid-dense:has(>.seo-list:only-child){--cell-w:20%}}@media (max-width:1100px){.grid:has(>.seo-list:only-child){--cell-w:calc(100% / 3)}.grid.grid-dense:has(>.seo-list:only-child){--cell-w:calc(100% / 3)}}@media (max-width:760px){.grid:has(>.seo-list:only-child){--cell-w:50%;--cell-h:300px}.grid.grid-dense:has(>.seo-list:only-child){--cell-w:50%;--cell-h:300px}}@keyframes grid-wait{0%{opacity:.45}to{opacity:1}}@media (prefers-reduced-motion:reduce){.grid:has(>.seo-list:only-child){animation:none}}.featured-bar{border-top:1px solid var(--line-l);color:var(--mute-l);justify-content:space-between;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px;display:flex}.featured-bar .text-link{color:var(--ink)}.featured-bar .text-link:hover .i{transform:translate(3px)}a.chip{text-decoration:none}.main-nav a.is-current{color:var(--paper)}.main-nav a.is-current:after{transform:scaleX(1)}.card-name a{transition:color .2s}.card-name a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.quick-look{z-index:3;background:var(--paper);color:var(--ink);opacity:0;transition:opacity .3s, transform .3s var(--ease);padding:5px 8px;font-size:10.5px;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.card-media:hover .quick-look{opacity:1;transform:none}.pd-links{flex-wrap:wrap;gap:10px;display:flex}a.hi-cell:hover .i{transform:translate(3px)}.product-page{padding-bottom:clamp(64px,8vw,120px)}.pp-crumbs{padding-top:28px;padding-bottom:20px}.pp-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,72px);display:grid}.pp-main{aspect-ratio:1;background:var(--paper-2);place-items:center;padding:6%;display:grid;position:relative;overflow:hidden}.pp-main.is-tech{background:var(--ink);color:#f8f7f4cc}.pp-main svg,.pp-main .p-img{width:100%;height:100%}.pp-main[data-has-photo="1"]{padding:0}.pp-main.is-tech .p-img{padding:6%}.pp-badge{position:absolute;top:14px;left:14px}.pp-thumbs{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pp-thumb{background:var(--paper-2);border:1px solid #0000;width:84px;height:84px;padding:0;transition:border-color .2s;overflow:hidden}.pp-thumb img{object-fit:cover;width:100%;height:100%}.pp-thumb.is-tech img{object-fit:contain;padding:6px}.pp-thumb.is-active{border-color:var(--ink)}.pp-thumb--txt{width:auto;height:38px;color:var(--mute-l);border-color:var(--line-l2);background:0 0;padding:0 14px;font-size:13px}.pp-thumb--txt.is-active{color:var(--ink);border-color:var(--ink)}.pp-sticky{top:calc(var(--header) + 24px);flex-direction:column;gap:0;display:flex;position:sticky}.pp-code{color:var(--mute-l)}.pp-title{font-family:var(--f-display);letter-spacing:-.045em;margin-top:10px;font-size:clamp(44px,5.4vw,84px);font-weight:700;line-height:.92}.pp-sub{color:var(--mute-l);margin-top:12px}.pp-desc{max-width:54ch;margin-top:20px}.pp-block{border-top:1px solid var(--line-l);flex-direction:column;gap:14px;margin-top:24px;padding-top:18px;display:flex}.pp-row{justify-content:space-between;gap:12px;display:flex}.label-l{color:var(--mute-l);font-size:11px}.pp-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.pp-actions .btn-ghost .i{width:18px;height:18px}.pp-quick{align-self:flex-start;margin-top:18px;font-size:14px}.pp-facts{border-top:1px solid var(--line-l);border-left:1px solid var(--line-l);flex-wrap:wrap;gap:0;margin:28px 0 0;display:flex}.pp-facts div{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);min-width:76px;padding:12px 16px}.pp-facts dt{color:var(--mute-l);font-size:10.5px}.pp-facts dd{color:var(--ink);margin:4px 0 0;font-size:15px}.pp-sections{margin-top:clamp(48px,6vw,88px)}.pp-flags{margin:0 0 12px}.pp-sec{border-top:1px solid var(--line-l);grid-template-columns:240px minmax(0,1fr);gap:24px;padding:clamp(28px,3.4vw,44px) 0;display:grid}.pp-sec>.sec-title{top:calc(var(--header) + 24px);align-self:start;margin:0;position:sticky}.pp-sec .dims{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pp-rich{max-width:68ch}.pp-rich p{margin:0 0 1em}.pp-rich h2,.pp-rich h3{font-family:var(--f-display);letter-spacing:-.02em;margin:1.4em 0 .5em}.pp-form{max-width:720px}.pp-related{margin-top:clamp(48px,6vw,88px)}.pp-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}.pp-project{flex-direction:column;gap:6px;display:flex}.pp-project-img{aspect-ratio:4/3;background:var(--coal);color:var(--mute-d);place-items:center;margin-bottom:8px;display:grid;overflow:hidden}.pp-project-img img{object-fit:cover;width:100%;height:100%}.pp-project .mono{color:var(--mute-l);font-size:11px}.pp-related-products{padding-top:clamp(48px,6vw,88px);padding-bottom:0}.pp-related-products .grid-wrap{border-top:1px solid var(--line-l);margin-top:20px}@media (max-width:960px){.pp-hero{grid-template-columns:1fr}.pp-sticky{position:static}.pp-sec{grid-template-columns:1fr;gap:16px}.pp-sec>.sec-title{position:static}.pp-sec .dims{grid-template-columns:1fr}.pp-projects{grid-template-columns:1fr 1fr}}@media (max-width:640px){.pp-projects{grid-template-columns:1fr}.pp-thumb{width:64px;height:64px}.featured-bar{flex-direction:column;align-items:flex-start}}:root{--header-full:144px;--header:144px}html.is-scrolled{--header:110px}.site-header{z-index:60;color:var(--paper);background-color:var(--ink);border-bottom:1px solid var(--line-d);transition:background-color .4s var(--ease), border-color .4s var(--ease);position:fixed;top:0;left:0;right:0}.site-header:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, rgba(var(--hdr-rgb,14, 14, 14), .38), rgba(var(--hdr-rgb,14, 14, 14), 0));opacity:0;height:170%;transition:opacity .4s var(--ease);position:absolute;top:0;left:0;right:0}.site-header{background-color:rgba(var(--hdr-rgb,14, 14, 14), .6);border-bottom-color:#f8f7f414}.site-header.on-hero{background-color:rgba(var(--hdr-rgb,14, 14, 14), .45)}.site-header.on-hero:not(:hover):not(:has(:focus-visible)):not(.menu-open){background-color:rgba(var(--hdr-rgb,14, 14, 14), 0);border-bottom-color:#f8f7f400}.site-header.on-hero:not(:hover):not(:has(:focus-visible)):not(.menu-open):before{opacity:1}.site-header:not(.on-hero):not(.on-light):not(:hover):not(:has(:focus-visible)):not(.menu-open){background-color:rgba(var(--hdr-rgb,14, 14, 14), .45)}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open){border-bottom-color:var(--line-l);background-color:#f8f7f4e0}.site-header.menu-open{background-color:rgba(var(--hdr-rgb,14, 14, 14), .96)}.logo{position:relative}.logo .logo-dark{opacity:0;position:absolute;inset:0}.logo img{transition:height .4s var(--ease), opacity .3s}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .logo-light{opacity:0}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .logo-dark{opacity:1}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .main-nav a{color:var(--ink)}:is(.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .quote-trigger,.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .menu-btn){color:var(--ink);border-color:var(--line-l2)}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .quote-count:not(.has-items){color:var(--mute-l)}.main-nav a,.quote-trigger,.menu-btn{transition:color .3s,border-color .3s,background-color .2s}body>main{padding-top:var(--header-full)}body>main:has(>.hero:first-child){padding-top:0}body>main:has(>.corp:first-child){padding-top:0}.hdr-top{max-width:1600px;height:100px;padding-inline:var(--gutter);transition:height .4s var(--ease);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 auto;display:grid}html.is-scrolled .hdr-top{height:70px}.hdr-left{justify-self:start;align-items:center;gap:18px;display:flex}.hdr-link{letter-spacing:.14em;text-transform:uppercase;color:#cfcbc4;align-items:center;gap:8px;font-size:11.5px;transition:color .2s;display:inline-flex}.hdr-link:hover{color:var(--paper)}.hdr-link .i{width:16px;height:16px}.logo{justify-self:center;align-items:center;display:inline-flex}.logo img{object-fit:contain;width:auto;max-width:42vw;height:52px;transition:height .4s var(--ease)}html.is-scrolled .logo img{height:34px}.main-nav{max-width:1600px;height:44px;padding-inline:var(--gutter);letter-spacing:.13em;text-transform:uppercase;transition:height .4s var(--ease);justify-content:center;align-items:center;gap:clamp(22px,3vw,52px);margin:0 auto;font-size:13.5px;font-weight:600;display:flex}html.is-scrolled .main-nav{height:40px}@media (min-width:961px){.main-nav{font-family:var(--nav-font,var(--f-body));font-size:var(--nav-size,13.5px);font-weight:var(--nav-weight,600);letter-spacing:var(--nav-ls,.13em)}.site-header[data-nav-case=none] .main-nav{text-transform:none;letter-spacing:var(--nav-ls,.02em);font-size:var(--nav-size,14.5px)}.site-header[data-nav-case=lower] .main-nav{text-transform:lowercase;letter-spacing:var(--nav-ls,.03em);font-size:var(--nav-size,14.5px)}}.main-nav a{color:#eeebe5;padding:8px 0;transition:color .2s;position:relative}.site-header.on-hero:not(.on-light) .main-nav a{text-shadow:0 1px 3px #00000059}.main-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.main-nav a:hover{color:var(--paper)}.main-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-actions{justify-self:end;align-items:center;gap:10px;display:flex}.quote-trigger{border:1px solid var(--line-d2);letter-spacing:.02em;align-items:center;gap:10px;height:42px;padding:0 16px;font-size:13px;transition:border-color .2s,background-color .2s;display:inline-flex}.quote-trigger:hover{border-color:var(--paper)}.quote-count{font-family:var(--f-mono);color:var(--mute-d);font-size:13px}.quote-count.has-items{color:var(--accent)}.quote-trigger.bump{animation:bump .5s var(--ease)}@keyframes bump{30%{border-color:var(--accent);transform:translateY(-2px)}}.menu-btn{border:1px solid var(--line-d2);place-items:center;width:42px;height:42px;display:none}.hero{--meta-h:calc(var(--header-full) + 8px)}.hero .hero-meta-wrap{display:none}.hero .hero-slides{min-height:clamp(680px,100svh - 86px,1120px)}@media (max-width:960px){:root,html.is-scrolled{--header-full:72px;--header:72px}.hdr-top,html.is-scrolled .hdr-top{grid-template-columns:1fr auto 1fr;gap:12px;height:72px}.logo img,html.is-scrolled .logo img{height:34px}.hdr-link{display:none}.menu-btn{display:grid}.quote-trigger{display:none}.main-nav,html.is-scrolled .main-nav{height:auto;padding:8px var(--gutter) 20px;background:var(--dark);border-bottom:1px solid var(--line-d);font-size:22px;font-family:var(--f-display);letter-spacing:-.02em;text-transform:none;clip-path:inset(0 0 100%);transition:clip-path .5s var(--ease-io);visibility:hidden;flex-direction:column;align-items:stretch;gap:0;font-weight:600;position:absolute;top:72px;left:0;right:0}.main-nav.is-open{clip-path:inset(0);visibility:visible}.main-nav a{border-bottom:1px solid var(--line-d);color:var(--paper);padding:14px 0}.main-nav a:after{display:none}.hero{--meta-h:calc(var(--header-full) + 8px)}.main-nav,html.is-scrolled .main-nav{top:var(--header-full);overscroll-behavior:contain;height:auto;padding-bottom:32px;position:fixed;bottom:0;overflow-y:auto}.main-nav.is-open,html.is-scrolled .main-nav.is-open{clip-path:inset(0);visibility:visible}.site-header.on-light:not(:hover):not(:has(:focus-visible)) .main-nav a{color:var(--paper)}.lang-switch--header{display:none}.lang-switch--menu{gap:14px;margin-top:28px;font-size:13px;display:inline-flex}.main-nav .lang-switch--menu a{font-family:var(--f-mono);letter-spacing:.14em;color:var(--mute-d);border-bottom:0;padding:6px 0;font-size:13px}.main-nav .lang-switch--menu a.is-active{color:var(--paper)}.main-nav .lang-switch--menu a:after{display:block}}.ct-head{background:var(--paper);padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(56px,7vw,104px)}.ct-title{font-size:clamp(56px,9vw,150px)}.ct-quick{border-top:1px solid var(--line-l);border-left:1px solid var(--line-l);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.ct-cell{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:26px 24px 30px;display:flex}.ct-label{color:var(--mute-l);align-items:center;gap:8px;font-size:11px;display:inline-flex}.ct-label .i{width:16px;height:16px}.ct-big{font-family:var(--f-display);letter-spacing:-.02em;flex-direction:column;gap:2px;font-size:clamp(19px,1.6vw,24px);font-weight:600;line-height:1.15;transition:color .2s;display:flex}.ct-big--sm{overflow-wrap:anywhere;font-size:clamp(16px,1.25vw,20px)}.ct-big small{font-family:var(--f-body);letter-spacing:0;color:var(--mute-l);font-size:13px;font-weight:400}.ct-big:hover{color:var(--accent)}.ct-note{color:var(--mute-l);font-size:14px}.ct-socials{gap:14px;margin-top:6px;display:flex}.ct-socials a{color:var(--mute-l);transition:color .2s}.ct-socials a:hover{color:var(--ink)}.ct-socials .i{width:20px;height:20px}.ct-locations{background:var(--dark);color:var(--paper);padding:clamp(56px,7vw,104px) 0}.ct-loc{border-top:1px solid var(--line-d);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;gap:clamp(28px,4vw,64px);padding:clamp(28px,3vw,40px) 0;display:grid}.ct-loc:first-child{border-top:0;padding-top:0}.ct-loc-info{flex-direction:column;align-items:flex-start;gap:22px;display:flex}.ct-loc-num{color:var(--mute-d)}.ct-address{font-style:normal;font-family:var(--f-display);letter-spacing:-.03em;font-size:clamp(26px,2.8vw,42px);font-weight:500;line-height:1.12}.ct-hours{color:#cfcbc4;flex-direction:column;gap:4px;display:flex}.ct-hours .mono{color:var(--mute-d);font-size:11px}.ct-loc-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:auto;display:flex}.ct-map{background:var(--coal);min-height:380px;position:relative;overflow:hidden}.ct-map iframe{filter:grayscale()invert(.9)contrast(.9)brightness(.95);width:100%;height:100%;transition:filter .6s var(--ease);border:0;position:absolute;inset:0}.ct-map:hover iframe{filter:none}.ct-map-pin{background:var(--accent);pointer-events:none;width:10px;height:10px;transition:opacity .3s;position:absolute;bottom:0;right:0}.ct-map:hover .ct-map-pin{opacity:0}.ct-form-sec{background:var(--paper);padding:clamp(64px,8vw,120px) 0}.ct-form-grid{grid-template-columns:repeat(12,1fr);gap:40px 24px;display:grid}.ct-form-intro{flex-direction:column;grid-column:1/span 4;gap:22px;display:flex}.ct-form-intro .sh-label{padding-top:0}.ct-form,.ct-form-grid .success{grid-column:6/span 7}.check.field{flex-flow:wrap;align-items:center;gap:10px}.check.field input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:0}.check.field>span{min-width:0;font-family:var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink);flex:1;font-size:14px}.check.field .err{flex-basis:100%}@media (max-width:960px){.ct-loc{grid-template-columns:1fr}.ct-map{min-height:300px}.ct-form-intro,.ct-form,.ct-form-grid .success{grid-column:1/-1}}.sh-title{letter-spacing:-.035em;font-size:clamp(36px,4.6vw,72px);font-weight:600;line-height:.98}.page-top .sh-title,.ct-title{letter-spacing:-.035em;font-size:clamp(36px,4.8vw,76px);font-weight:600;line-height:.98}.pp-title{letter-spacing:-.035em;font-size:clamp(34px,3.8vw,60px);font-weight:600;line-height:1}.cta-title{letter-spacing:-.035em;font-size:clamp(32px,3.8vw,60px);font-weight:600;line-height:1}.foot-mark{justify-content:center;display:flex}.foot-mark img{width:min(70%,300px)}.about-title{font-size:clamp(26px,2.8vw,42px)}.ct-address{font-size:clamp(22px,2.2vw,32px)}.stack-num{font-size:36px;font-weight:600}.ht-dot{background:var(--accent);color:#0000;vertical-align:baseline;width:.13em;height:.13em;margin-left:.05em;display:inline-block;overflow:hidden}.cookie{z-index:75;background:var(--ink);width:min(420px,100vw - 40px);color:var(--paper);border:1px solid var(--line-d2);opacity:0;transition:opacity .4s var(--ease), transform .5s var(--ease);flex-direction:column;gap:14px;padding:22px 22px 18px;display:flex;position:fixed;bottom:20px;left:20px;transform:translateY(16px);box-shadow:0 18px 50px #00000047}.cookie.is-on{opacity:1;transform:none}.cookie[hidden]{display:none}.ck-label{color:#cfcbc4;align-items:center;gap:10px;font-size:11px;display:inline-flex}.ck-text{color:#d8d4cd;font-size:14px;line-height:1.55}.ck-text a{color:var(--paper);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.ck-prefs{border-top:1px solid var(--line-d);flex-direction:column;display:flex}.ck-prefs[hidden]{display:none}.ck-row{border-bottom:1px solid var(--line-d);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.ck-row b{font-size:13.5px;font-weight:500;display:block}.ck-row small{color:var(--mute-d);margin-top:2px;font-size:12px;line-height:1.45;display:block}.ck-switch{appearance:none;cursor:pointer;border:1px solid var(--line-d2);background:0 0;flex:none;width:34px;height:18px;transition:background-color .2s,border-color .2s;position:relative}.ck-switch:after{content:"";background:var(--mute-d);width:10px;height:10px;transition:transform .25s var(--ease), background-color .2s;position:absolute;top:3px;left:3px}.ck-switch:checked{border-color:var(--paper)}.ck-switch:checked:after{background:var(--accent);transform:translate(16px)}.ck-switch:disabled{opacity:.5;cursor:not-allowed}.ck-switch:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.ck-actions{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.ck-btn{height:40px;padding:0 16px;font-size:13px}.ck-ghost{border:1px solid var(--line-d2);color:var(--paper)}.ck-ghost:hover{border-color:var(--paper)}.ck-link{color:#cfcbc4;text-underline-offset:3px;margin-left:auto;font-size:13px;text-decoration:underline;text-decoration-thickness:1px}.ck-link:hover{color:var(--paper)}.ck-link[hidden],body.is-locked .cookie{display:none}.foot-legal-links{flex-wrap:wrap;gap:6px 18px;display:inline-flex}.foot-legal-links a,.foot-legal-links button{color:var(--mute-d);font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color .2s}.foot-legal-links a:hover,.foot-legal-links button:hover{color:var(--paper)}.ct-map-gate{z-index:1;background:repeating-linear-gradient(135deg, var(--coal) 0 14px, #1e1e1d 14px 28px);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:12px;padding:28px;display:flex;position:absolute;inset:0}.ct-map-gate .mono{color:var(--mute-d);font-size:11px}.ct-map-gate p{color:#cfcbc4;max-width:36ch;font-size:14px}.text-page{padding-bottom:clamp(64px,8vw,120px)}.tp-head{padding-top:clamp(40px,5vw,72px)}.tp-head .sh-text{flex-direction:column;gap:10px;display:flex}.tp-updated{color:var(--mute-l);font-size:11px}.tp-body{border-top:1px solid var(--line-l);grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-top:clamp(32px,4vw,56px);display:grid}.tp-toc{top:calc(var(--header) + 24px);flex-direction:column;align-self:start;gap:14px;display:flex;position:sticky}.tp-toc .mono{color:var(--mute-l);font-size:11px}.tp-toc ol{border-left:1px solid var(--line-l);flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tp-toc li{padding-left:14px}.tp-toc li.is-sub{padding-left:26px}.tp-toc a{color:var(--mute-l);font-size:14px;transition:color .2s}.tp-toc a:hover{color:var(--ink)}.tp-content{grid-column:2;max-width:74ch;font-size:16px;line-height:1.7}.tp-body>.tp-content:only-child{grid-column:1/-1}.tp-content h2{scroll-margin-top:calc(var(--header) + 24px);margin:1.8em 0 .6em;font-size:clamp(20px,1.8vw,26px);font-weight:600}.tp-content h2:first-child{margin-top:0}.tp-content ul,.tp-content ol{margin:0 0 1.2em;padding-left:1.2em}.tp-content li{margin-bottom:.45em}.tp-content li::marker{color:var(--accent)}.tp-content a,.check.field a{text-underline-offset:3px;text-decoration:underline}@media (max-width:960px){.tp-body{grid-template-columns:1fr}.tp-toc{position:static}.tp-content{grid-column:1}}@media (max-width:640px){.cookie{width:auto;bottom:12px;left:12px;right:12px}}.catalogs-page{padding-bottom:clamp(64px,8vw,120px)}.catalogs-page .section-head{padding-top:clamp(40px,5vw,72px)}.cat-cover{aspect-ratio:1/1.414;background:var(--paper-3);transition:transform .6s var(--ease), box-shadow .6s var(--ease);position:relative;overflow:hidden;box-shadow:0 1px #0000000f,0 18px 40px -18px #0e0e0e73}.cat-cover:before{content:"";z-index:1;background:linear-gradient(90deg,#00000038,#ffffff1f 45%,#0000);width:10px;position:absolute;top:0;bottom:0;left:0}.cat-cover img{object-fit:cover;width:100%;height:100%;display:block}.cat-cover-ph{text-align:center;color:var(--mute-l);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.cat-meta{color:var(--mute-d);font-size:11px}.cat-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:10px;display:flex}.cat-actions[hidden]{display:none}.cat-dl:hover .i{transform:translateY(2px)}.cat-note{color:var(--mute-d);font-size:11px}.cat-gate{width:100%;max-width:520px;margin-top:6px}.cat-gate[hidden]{display:none}.cat-gate p{margin-bottom:10px;font-size:14px}.cat-gate a{text-underline-offset:3px;text-decoration:underline}.cat-list{padding-top:clamp(48px,6vw,88px)}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(28px,3vw,48px) clamp(20px,2.4vw,36px);margin-top:24px;display:grid}.cat-card{flex-direction:column;gap:18px;display:flex}.cat-card:hover .cat-cover{transform:translateY(-5px);box-shadow:0 1px #0000000f,0 26px 50px -18px #0e0e0e80}.cat-card-body{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cat-card-title{font-family:var(--f-display);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.15}.cat-card .cat-meta{color:var(--mute-l)}.cat-card .cat-desc{color:var(--mute-l);font-size:14px}.cat-card .btn{height:42px;padding:0 16px;font-size:13px}.cat-card-body{flex:auto}.cat-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.3em;display:-webkit-box;overflow:hidden}.cat-card .cat-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cat-card .cat-actions{margin-top:auto;padding-top:10px}.cat-list.has-aside{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,64px);display:grid}.cat-list.has-aside .cat-grid{margin-top:0}.cat-tools{top:calc(var(--header) + 24px);transition:top .35s var(--ease);flex-direction:column;gap:18px;display:flex;position:sticky}.cat-search{width:100%}.cat-brands{border-top:1px solid var(--line-l);flex-direction:column;display:flex}.cat-brand{border-bottom:1px solid var(--line-l);text-align:left;cursor:pointer;border-left:2px solid #0000;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px 10px 14px;transition:background-color .2s,border-color .2s;display:flex}.cat-brand img{object-fit:contain;object-position:left center;filter:grayscale();opacity:.6;width:auto;max-width:140px;height:24px;transition:filter .2s,opacity .2s;display:block}.cat-brand>span:first-child{font-size:15px}.cat-brand .mono{color:var(--mute-l);font-size:11.5px}.cat-brand:hover{background:#0e0e0e08}.cat-brand:hover img,.cat-brand.is-active img{filter:none;opacity:1}.cat-brand.is-active{border-left-color:var(--accent);background:#fff}.cat-brand.is-active .mono{color:var(--ink)}.cat-brand:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cat-card[hidden]{display:none}.cat-nomatch{color:var(--mute-l);margin-top:28px}.cat-nomatch[hidden]{display:none}@media (max-width:960px){.cat-list.has-aside{grid-template-columns:minmax(0,1fr)}.cat-tools{min-width:0;position:static}.cat-brands{scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter);border-top:0;flex-direction:row;gap:8px;overflow-x:auto}.cat-brands::-webkit-scrollbar{display:none}.cat-brand{border:1px solid var(--line-l);flex:none;min-height:44px;padding:6px 12px}.cat-brand.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cat-brand img{max-width:96px;height:20px}}@media (max-width:640px){.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.cat-card{gap:12px}.cat-card-title{font-size:16px}.cat-card .cat-actions{flex-wrap:wrap;gap:8px 12px}.cat-card .btn{height:38px;padding:0 12px}}.cat-empty{color:var(--mute-l);border-top:1px solid var(--line-l);flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px;padding-bottom:24px;display:flex}.cat-empty .i{color:var(--stone)}.foot-legal{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px;display:grid}.foot-legal>span:first-child{justify-self:start}.foot-legal .foot-legal-links{justify-self:end}.foot-logo{opacity:.9;justify-self:center;transition:opacity .2s;display:block}.foot-logo:hover{opacity:1}.foot-logo img{object-fit:contain;width:auto;max-width:40vw;height:23px;display:block}@media (max-width:760px){.foot-legal{text-align:center;grid-template-columns:1fr;justify-items:center}.foot-legal>span:first-child,.foot-legal .foot-legal-links{justify-content:center;justify-self:center}.foot-logo{order:-1}}.search-btn{width:42px;height:42px;color:inherit;place-items:center;transition:color .3s;display:grid;position:relative}.search-btn .i{width:20px;height:20px;transition:transform .35s var(--ease)}.search-btn:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:6px;left:11px;right:11px;transform:scaleX(0)}.search-btn:hover .i{transform:scale(1.12)rotate(-8deg)}.search-btn:hover:after{transform:scaleX(1)}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .search-btn{color:var(--ink)}.search{z-index:100;transition:background-color .45s var(--ease);background:#0e0e0e00;position:fixed;inset:0}.search[hidden]{display:none}.search.is-open{background:#0e0e0e8c}.search-inner{background:var(--dark);color:var(--paper);overscroll-behavior:contain;clip-path:inset(0 0 100%);max-width:none;max-height:88vh;transition:clip-path .55s var(--ease-io);border-bottom:1px solid var(--line-d);padding-top:22px;padding-bottom:clamp(28px,4vw,48px);position:relative;overflow-y:auto}.search.is-open .search-inner{clip-path:inset(0)}.search-inner>*{max-width:1100px;margin-left:auto;margin-right:auto}.search-top{color:var(--mute-d);justify-content:space-between;align-items:center;display:flex}.search-top .mono{font-size:11px}.search-close{color:#cfcbc4;align-items:center;gap:10px;transition:color .2s;display:inline-flex}.search-close:hover{color:var(--paper)}.search-close .mono{border:1px solid var(--line-d2);padding:3px 6px;font-size:10px}.search-field{cursor:text;align-items:center;gap:clamp(12px,1.6vw,22px);margin-top:clamp(20px,3vw,40px);padding-bottom:14px;display:flex;position:relative}.search-field:before,.search-field:after{content:"";height:1px;position:absolute;bottom:0;left:0}.search-field:before{background:var(--line-d2);right:0}.search-field:after{background:var(--paper);transform-origin:0;width:100%;transition:transform .9s var(--ease) .15s;transform:scaleX(0)}.search.is-open .search-field:after{transform:scaleX(1)}.search-field:focus-within:after{background:var(--accent)}.search-field>.i{width:clamp(22px,2.4vw,32px);height:clamp(22px,2.4vw,32px);color:var(--mute-d);flex:none}.search-field input{min-width:0;color:var(--paper);font-family:var(--f-display);letter-spacing:-.03em;background:0 0;border:0;outline:none;flex:1;font-size:clamp(26px,3.4vw,52px);font-weight:500;line-height:1.2}.search-field input::placeholder{color:#55534f}.search-field input::-webkit-search-cancel-button{display:none}.search-body{margin-top:clamp(20px,2.6vw,34px)}.search-suggest{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px);display:grid}.search-suggest[hidden]{display:none}.ss-col{flex-direction:column;gap:14px;display:flex}.ss-col>.mono{color:var(--mute-d);font-size:11px}.ss-chips{flex-wrap:wrap;gap:8px;display:flex}.search .qchip{border-color:var(--line-d2);color:#dcd8d1;font-family:var(--f-body);font-size:13.5px}.search .qchip:hover{border-color:var(--paper);color:var(--paper)}.ss-products{grid-template-columns:1fr 1fr;gap:10px 20px;display:grid}.ss-prod{align-items:center;gap:12px;font-size:14.5px;transition:color .2s;display:flex}.ss-prod small{color:var(--mute-d);font-size:12px;display:block}.ss-prod:hover{color:var(--accent)}.ss-thumb,.sr-thumb{background:var(--coal);flex:none;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.ss-thumb img,.sr-thumb img{object-fit:cover;width:100%;height:100%}.ss-thumb svg,.sr-thumb svg{width:88%;height:88%}.search-results{margin:0;padding:0;list-style:none}.search-results li{opacity:0;animation:srIn .45s var(--ease) forwards;animation-delay:calc(var(--i) * 35ms);transform:translateY(10px)}@keyframes srIn{to{opacity:1;transform:none}}.sr-item{border-bottom:1px solid var(--line-d);transition:background-color .25s, padding .35s var(--ease);grid-template-columns:64px minmax(0,1fr) auto auto 20px;align-items:center;gap:18px;padding:12px 14px 12px 12px;display:grid;position:relative}.sr-item:before{content:"";background:var(--accent);width:2px;transition:transform .3s var(--ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.sr-item .sr-thumb{width:64px;height:64px}.sr-item:hover,.sr-item.is-active{background:#171716;padding-left:20px}.sr-item:hover:before,.sr-item.is-active:before{transform:scaleY(1)}.sr-main{flex-direction:column;gap:3px;min-width:0;display:flex}.sr-name{font-family:var(--f-display);letter-spacing:-.02em;font-size:20px;font-weight:600}.sr-meta{color:var(--mute-d);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sr-cat,.sr-code{color:var(--mute-d);white-space:nowrap;font-size:11px}.sr-item>.i{width:18px;height:18px;color:var(--mute-d);transition:transform .3s var(--ease), color .2s}.sr-item:hover>.i,.sr-item.is-active>.i{color:var(--paper);transform:translate(4px)}.search mark{color:inherit;box-shadow:inset 0 -2px 0 var(--accent);background:0 0}.search-empty{color:#cfcbc4;padding:18px 0}.search-empty a{color:var(--paper);text-underline-offset:3px;text-decoration:underline}.search-all{color:var(--paper);margin-top:20px}@media (max-width:960px){.search-suggest{grid-template-columns:1fr}.sr-item{grid-template-columns:52px minmax(0,1fr) 18px;gap:12px}.sr-item .sr-thumb{width:52px;height:52px}.sr-cat,.sr-code{display:none}}@media (max-width:640px){.ss-products{grid-template-columns:1fr}.search-btn{width:38px}}.search-all[hidden],.search-empty[hidden]{display:none}.ss-thumb,.sr-thumb{background:var(--paper-2)}.card[hidden]{display:none}.lang-switch{letter-spacing:.14em;color:var(--mute-d);align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.lang-switch a{color:#cfcbc4;padding:6px 0;transition:color .2s;position:relative}.lang-switch a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.lang-switch a:hover{color:var(--paper)}.lang-switch a:hover:after,.lang-switch a.is-active:after{transform:scaleX(1)}.lang-switch a.is-active{color:var(--paper)}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .lang-switch a{color:var(--mute-l)}.site-header.on-light:not(:hover):not(:has(:focus-visible)):not(.menu-open) .lang-switch a.is-active{color:var(--ink)}@media (max-width:960px){.hdr-left{gap:12px}.lang-switch{gap:6px;font-size:10.5px}}@media (min-width:961px){.lang-switch--menu{display:none}}@media (max-width:960px){.hdr-left .lang-switch--header{display:none}.main-nav,html.is-scrolled .main-nav{justify-content:flex-start;padding-top:12px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.logos{background:var(--paper);border-top:1px solid var(--line-l);padding:clamp(56px,7vw,104px) 0 clamp(64px,8vw,112px)}.logos-title{text-align:center;font-family:var(--f-display);letter-spacing:-.01em;color:var(--ink);font-size:clamp(18px,1.6vw,22px);font-weight:500}.logo-row{grid-template-columns:repeat(var(--slots,6), minmax(0, 1fr));gap:12px clamp(16px,3vw,48px);max-width:1240px;margin:clamp(28px,3.4vw,44px) auto 0;padding:0;list-style:none;display:grid}.logo-slot{height:64px;position:relative;overflow:hidden}.logo-item{transition:transform .75s var(--ease), opacity .6s var(--ease);place-items:center;display:grid;position:absolute;inset:0}.logo-item.is-entering{opacity:0;transform:translateY(70%)}.logo-item.is-current{opacity:1;transform:none}.logo-item.is-leaving{opacity:0;transform:translateY(-70%)}.logo-item img{object-fit:contain;width:auto;max-width:82%;height:auto;max-height:34px;display:block}.logo-item a{place-items:center;width:100%;height:100%;transition:opacity .25s;display:grid}.logo-item a:hover{opacity:.7}@media (max-width:760px){.logo-row{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-slot:nth-child(n+4){display:none}.logo-item img{max-height:28px}}.ig{background:var(--dark);color:var(--paper);padding:clamp(64px,8vw,120px) 0}.ig-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:36px 24px;display:grid}.ig-intro{flex-direction:column;grid-column:1/span 4;align-items:flex-start;gap:18px;padding-bottom:6px;display:flex}.ig-handle{color:#cfcbc4;align-items:center;gap:10px;font-size:12px;transition:color .2s;display:inline-flex}.ig-handle:hover{color:var(--paper)}.ig-handle .i{width:18px;height:18px}.ig-title{font-family:var(--f-display);letter-spacing:-.035em;font-size:clamp(30px,3.2vw,48px);font-weight:600;line-height:1.02}.ig-text{color:#bdb9b2;max-width:40ch}.ig .text-link{color:var(--paper)}.ig .text-link:hover .i{transform:translate(2px,-2px)}.ig-demo{color:var(--accent);border:1px solid #eb5e2866;padding:5px 8px;font-size:10.5px}.ig-posts{grid-column:5/span 8;grid-template-columns:repeat(var(--n,3), minmax(0, 1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ig-post{aspect-ratio:4/5;background:var(--coal);display:block;position:relative;overflow:hidden}.ig-post img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);display:block}.ig-post:hover img,.ig-post:focus-visible img{transform:scale(1.045)}.ig-type{z-index:2;color:var(--paper);filter:drop-shadow(0 1px 3px #00000080);position:absolute;top:12px;right:12px}.ig-overlay{z-index:1;opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);background:linear-gradient(#0e0e0e00 30%,#0e0e0e59 55%,#0e0e0ee0 100%);flex-direction:column;justify-content:flex-end;gap:10px;padding:18px;display:flex;position:absolute;inset:0;transform:translateY(8px)}.ig-post:hover .ig-overlay,.ig-post:focus-visible .ig-overlay{opacity:1;transform:none}.ig-cap{color:#ece8e1;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.ig-date{color:#cfcbc4;align-items:center;gap:8px;font-size:10.5px;display:inline-flex}.ig-date .i{width:14px;height:14px}@media (max-width:960px){.ig-intro,.ig-posts{grid-column:1/-1}.ig-posts{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter);grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;overflow-x:auto}.ig-posts::-webkit-scrollbar{display:none}.ig-posts li{scroll-snap-align:start}.ig-overlay{opacity:1;background:linear-gradient(#0e0e0e00 60%,#0e0e0eb3);transform:none}.ig-cap{display:none}}.ig-type{filter:none;background:#0e0e0e8c;place-items:center;width:32px;height:32px;display:grid}.ig-type .i{width:16px;height:16px}.catalog-page .container{max-width:1760px}.catalog-page{padding-top:clamp(56px,7vw,104px)}.page-top .catalog.catalog-page{padding-top:0}.cat-band{background:rgba(var(--band-rgb,248, 247, 244), var(--band-a,0));padding-top:clamp(40px,5vw,72px)}html[data-band] .clients--page,html[data-band] .ct-head{padding-top:0}html[data-band] .clients--page>.section-head:first-child,html[data-band] .ct-head>.section-head:first-child{padding-top:clamp(40px,5vw,72px)}html[data-band] :is(.catalogs-page,.blog-page)>.section-head,html[data-band] .tp-head,html[data-band] .clients--page>.section-head:first-child,html[data-band] .ct-head>.section-head:first-child{background:rgba(var(--band-rgb), var(--band-a));box-shadow:0 0 0 100vmax rgba(var(--band-rgb), var(--band-a));clip-path:inset(0 -100vmax)}html[data-band=dark] .projects--page,html[data-band=dark] .corp-hero{background:rgb(var(--band-rgb))}html[data-band=dark] :is(.cat-band,:is(.catalogs-page,.blog-page)>.section-head,.tp-head,.clients--page>.section-head:first-child,.ct-head>.section-head:first-child){color:var(--paper)}html[data-band=dark] :is(.cat-band,:is(.catalogs-page,.blog-page)>.section-head,.tp-head,.clients--page>.section-head:first-child,.ct-head>.section-head:first-child) :is(.sh-text,.sh-label,.crumbs,.crumbs a){color:#dcd8d1}html[data-band=dark] :is(.cat-band,:is(.catalogs-page,.blog-page)>.section-head,.tp-head,.clients--page>.section-head:first-child,.ct-head>.section-head:first-child) :is(.crumbs a:hover,.crumbs [aria-current]),html[data-band=dark] .tp-head .sh-text a{color:var(--paper)}html[data-band=dark] :is(.projects--page,.corp-hero) :is(.sh-text,.sh-label,.crumbs,.crumbs a,.corp-kicker){color:#dcd8d1}html[data-bar] .cat-toolbar{padding-left:14px;padding-right:14px}html[data-bar=dark] .cat-toolbar{color:var(--paper);border-bottom-color:var(--line-d)}html[data-bar=dark] .cat-toolbar .fb-count,html[data-bar=dark] .cat-sort select,html[data-bar=dark] .cat-filter-btn{color:var(--paper)}html[data-bar=dark] .cat-sort .mono,html[data-bar=dark] .cat-chip-clear{color:#cfcbc4}html[data-bar=dark] .cat-sort option{color:var(--ink)}html[data-bar=dark] .cat-filter-btn{border-color:var(--line-d2)}html[data-bar=dark] .cat-chip{background:var(--paper);color:var(--ink)}html[data-bar=dark] .cat-chip:hover{background:#e5e1d9}html[data-bar=dark] .cb-logo{border-color:#0000}html[data-bar=dark] .cb-logo[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cat-shell{border-top:1px solid var(--line-l);grid-template-columns:252px minmax(0,1fr);align-items:start;column-gap:32px;display:grid}.cat-side{top:var(--header);max-height:calc(100vh - var(--header));transition:top .35s var(--ease), max-height .35s var(--ease);flex-direction:column;align-self:start;display:flex;position:sticky}.cs-head,.cs-foot,.cat-backdrop{display:none}.cs-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;min-height:0;margin-left:-16px;padding:22px 8px 40px 16px;transition:scrollbar-color .3s;overflow-y:auto}.cs-scroll:hover{scrollbar-color:var(--line-l2) transparent}.cs-search-slot:empty{display:none}.cs-group{border-top:1px solid var(--line-l);padding:22px 0 20px}.cs-search-slot+.cs-group{margin-top:22px}.cs-title{color:var(--mute-l);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:10.5px}.cs-title span{color:var(--ink)}.cs-cats,.cs-subs,.cs-opts{margin:0;padding:0;list-style:none}.cs-opts li[hidden]{display:none}.cs-cat,.cs-opt{width:100%;color:var(--mute-l);text-align:left;align-items:center;gap:10px;padding:7px 0;font-size:14px;transition:color .2s;display:flex;position:relative}.cs-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cs-n{color:var(--mute-l);opacity:.75;flex:none;font-size:11px}.cs-cat:hover,.cs-opt:hover:not(:disabled){color:var(--ink)}.cs-cat.is-active{color:var(--ink);font-weight:500}.cs-cat.is-active:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-top:-2.5px;position:absolute;top:50%;left:-14px}.cs-cat.is-open:not(.is-active){color:var(--ink)}.cs-cat.is-empty,.cs-opt.is-empty{opacity:.38}.cs-row{align-items:center;display:flex}.cs-row .cs-cat{flex:1;min-width:0}.cs-ic{stroke-width:1.35px;width:18px;height:18px;color:var(--mute-l);transition:color .2s}.cs-cat:hover .cs-ic,.cs-cat.is-active .cs-ic,.cs-node.is-open .cs-top .cs-ic{color:var(--ink)}.cs-toggle{width:26px;height:26px;color:var(--mute-l);flex:none;place-items:center;margin:0 -7px 0 4px;transition:color .2s;display:grid}.cs-toggle:hover{color:var(--ink)}.cs-toggle .i{width:14px;height:14px;transition:transform .4s var(--ease)}.cs-node.is-open>.cs-row .cs-toggle .i{transform:rotate(180deg)}.cs-toggle:focus-visible{outline:1.5px solid var(--accent);outline-offset:1px}.cs-subs-wrap{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;display:grid}.cs-node.is-open>.cs-subs-wrap{grid-template-rows:1fr}.cs-subs-in{min-height:0;overflow:hidden}.cs-subs{border-left:1px solid var(--line-l);margin:2px 0 8px 8.5px;padding-left:19px}.cs-subs li{opacity:0;transition:opacity .25s, transform .3s var(--ease);transform:translateY(-6px)}.cs-node.is-open .cs-subs li{opacity:1;transition:opacity .4s 80ms, transform .45s 80ms var(--ease);transform:none}.cs-node.is-open .cs-subs li:nth-child(2){transition-delay:.13s}.cs-node.is-open .cs-subs li:nth-child(3){transition-delay:.18s}.cs-node.is-open .cs-subs li:nth-child(4){transition-delay:.23s}.cs-node.is-open .cs-subs li:nth-child(n+5){transition-delay:.28s}.cs-scroll{counter-reset:csg}.cs-group:not(.is-out){counter-increment:csg}.cs-title span:before{content:counter(csg, decimal-leading-zero)}.cs-group.is-out,.cs-opts li.is-out{display:none}.cs-opt{cursor:pointer}.cs-opt:disabled{cursor:default}.cs-opt>.i{flex:none;width:15px;height:15px}.cs-box{border:1px solid var(--line-l2);flex:none;place-items:center;width:15px;height:15px;transition:background-color .2s,border-color .2s;display:grid}.cs-box .i{stroke-width:2.2px;width:11px;height:11px;color:var(--paper);opacity:0}.cs-opt:hover:not(:disabled) .cs-box{border-color:var(--ink)}.cs-opt[aria-pressed=true]{color:var(--ink)}.cs-opt[aria-pressed=true] .cs-box{background:var(--ink);border-color:var(--ink)}.cs-opt[aria-pressed=true] .cs-box .i{opacity:1}.cs-dot{background:var(--c);border-radius:50%;flex:none;width:15px;height:15px;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.cs-dot:after{content:"";border:1px solid #0000;border-radius:50%;transition:border-color .2s;position:absolute;inset:-4px}.cs-opt[aria-pressed=true] .cs-dot:after{border-color:var(--ink)}.cs-opt:focus-visible,.cs-cat:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.cs-more{margin-top:8px;font-size:13px}.cs-more.is-open .i{transform:rotate(180deg)}.fb-search{border:1px solid var(--line-l2);background:var(--paper);align-items:center;gap:10px;padding:0 12px;transition:border-color .2s;display:flex;position:relative}.fb-search:hover{border-color:var(--mute-l)}.fb-search:focus-within{border-color:var(--ink)}.fb-search>.i{width:16px;height:16px;color:var(--mute-l);flex:none;transition:color .2s}.fb-search:focus-within>.i{color:var(--accent)}.fb-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:12px 0 11px;font-size:14px}.fb-search input::placeholder{color:var(--mute-l)}.fb-search input::-webkit-search-cancel-button{appearance:none}.fb-search-clear{width:22px;height:22px;color:var(--mute-l);flex:none;place-items:center;display:grid}.fb-search-clear[hidden]{display:none}.fb-search-clear:hover{color:var(--ink)}.fb-search-clear .i{width:14px;height:14px}.cat-toolbar{top:var(--header);z-index:20;background:rgba(var(--bar-rgb,248, 247, 244), var(--bar-a,.97));border-bottom:1px solid var(--line-l);min-height:62px;transition:top .35s var(--ease);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0;display:flex;position:sticky}.cat-toolbar .fb-count{text-align:left;min-width:0;color:var(--ink);font-size:11.5px}.cat-filter-btn{border:1px solid var(--line-l2);align-items:center;gap:8px;height:38px;padding:0 14px;font-size:14px;display:none}.cat-filter-btn .i{width:16px;height:16px}.cat-filter-n{background:var(--accent);color:#fff;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;display:inline-grid}.cat-filter-n[hidden]{display:none}.cat-brandbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cat-brandbar[hidden]{display:none}.cb-logo{border:1px solid var(--line-l);cursor:pointer;background:#fff;justify-content:center;align-items:center;min-width:64px;height:38px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:inline-flex}.cb-logo[hidden]{display:none}.cb-logo img{object-fit:contain;filter:grayscale();opacity:.62;width:auto;max-width:92px;height:18px;transition:filter .2s,opacity .2s;display:block}.cb-logo .mono{letter-spacing:.08em;text-transform:uppercase;color:var(--mute-l);font-size:11px}.cb-logo:hover{border-color:var(--line-l2)}.cb-logo:hover img,.cb-logo[aria-pressed=true] img{filter:none;opacity:1}.cb-logo[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.cb-logo[aria-pressed=true] .mono{color:var(--ink)}.cb-logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cat-active{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.cat-active[hidden]{display:none}.cat-chip{background:var(--ink);height:30px;color:var(--paper);align-items:center;gap:6px;padding:0 8px 0 11px;font-size:13px;transition:background-color .2s;display:inline-flex}.cat-chip .i{width:13px;height:13px;color:var(--accent)}.cat-chip:hover{background:#2a2a29}.cat-chip-clear{color:var(--mute-l);text-underline-offset:3px;padding:0 6px;font-size:13px;text-decoration:underline;text-decoration-thickness:1px}.cat-chip-clear:hover{color:var(--ink)}.cat-sort{cursor:pointer;align-items:center;gap:10px;margin-left:auto;display:inline-flex;position:relative}.cat-sort .mono{color:var(--mute-l);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}.cat-sort select{appearance:none;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none;padding:8px 22px 8px 0;font-size:14px}.cat-sort select:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}.cat-sort>.i{pointer-events:none;width:14px;height:14px;position:absolute;right:0}.cat-main{min-width:0}.cat-main .grid-wrap{margin-top:0}.grid.grid-dense{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-dense .card{padding:12px 12px 14px}.grid-dense .card-media{aspect-ratio:1/1.06}.grid-dense .view{padding:7% 8% 5%}.grid-dense .badges{gap:4px;top:8px;left:8px}.grid-dense .badge{gap:4px;padding:3px 6px;font-size:9.5px}.grid-dense .badge .i{width:11px;height:11px}.grid-dense .media-env{gap:4px;bottom:8px;right:8px}.grid-dense .media-env .i{width:13px;height:13px}.grid-dense .quick-look{padding:3px 6px;font-size:9.5px;top:8px;right:8px}.grid-dense .view-label{font-size:9.5px;top:10px;left:10px}.grid-dense .card-body{gap:3px;padding-top:12px}.grid-dense .card-row{align-items:baseline;gap:8px}.grid-dense .card-name{letter-spacing:-.015em;min-width:0;font-size:16px}.grid-dense .card-name a{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.grid-dense .card-code{flex:none;font-size:10px}.grid-dense .card-series{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.grid-dense .card-foot{align-items:center;margin-top:10px}.grid-dense .swatches{gap:14px;min-width:0;margin:-4px;padding:4px;overflow:hidden}.grid-dense .sw{flex:none;width:11px;height:11px}.grid-dense .sw:after{inset:-3px}.grid-dense .card-actions{margin-left:auto}.grid-dense .link-btn{display:none}.grid-dense .add-btn{flex:none;justify-content:center;width:30px;height:30px;padding:0}.grid-dense .add-btn .i{width:15px;height:15px}.grid-dense .add-btn span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grid-more{flex-direction:column;align-items:center;gap:12px;padding:40px 0 8px;display:flex}.grid-more[hidden]{display:none}.grid-more .mono{color:var(--mute-l);font-size:11px}@media (max-width:1600px){.grid.grid-dense{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1360px){.grid.grid-dense{grid-template-columns:repeat(4,minmax(0,1fr))}.cat-shell{grid-template-columns:228px minmax(0,1fr);column-gap:26px}}@media (max-width:1023px){.cat-shell{grid-template-columns:minmax(0,1fr)}.cat-side{z-index:90;background:var(--paper);visibility:hidden;width:min(380px,88vw);max-height:none;transition:transform .45s var(--ease), visibility 0s linear .45s;align-self:stretch;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:0 0 60px #0000002e}.cat-side.is-open{visibility:visible;transition:transform .45s var(--ease), visibility 0s;transform:none}.cs-head{border-bottom:1px solid var(--line-l);justify-content:space-between;align-items:center;padding:14px 18px 14px 22px;display:flex}.cs-head .mono{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.cs-close{place-items:center;width:40px;height:40px;display:grid}.cs-close .i{width:20px;height:20px}.cs-scroll{flex:1;margin-left:0;padding:4px 22px 24px 36px}.cs-group:first-child,.cs-search-slot:empty+.cs-group{border-top:0;margin-top:0}.cs-foot{padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line-l);display:block}.cat-backdrop{z-index:85;opacity:0;pointer-events:none;background:#0e0e0e73;transition:opacity .35s;display:block;position:fixed;inset:0}.cat-side.is-open+.cat-backdrop{opacity:1;pointer-events:auto}html.side-open{overflow:hidden}.cat-filter-btn{display:inline-flex}.cat-search-mobile{padding:14px 0 2px}.cat-toolbar{border-top:0}.grid.grid-dense{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.grid.grid-dense{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-dense .card{padding:10px 10px 12px}.grid-dense .card-name{font-size:14.5px}.grid-dense .card-code{display:none}.grid-dense .card-sub{flex-direction:column;align-items:flex-start;gap:2px}.grid-dense .card-sub .card-series{max-width:100%}.grid-dense .card-brand{font-size:9.5px}.grid-dense .card-brand:has(img){height:14px}.grid-dense .card-brand img{object-position:left center}.grid-dense .media-env,.grid-dense .quick-look,.cat-sort .mono{display:none}.cat-active{flex-basis:100%;order:5}.cat-brandbar{scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter);flex-wrap:nowrap;flex-basis:100%;order:4;overflow-x:auto}.cat-brandbar::-webkit-scrollbar{display:none}.cb-logo{flex:none;height:36px;padding:0 12px}}.showcase{background:var(--paper);padding-top:clamp(72px,9vw,136px);padding-bottom:clamp(72px,9vw,128px)}.showcase--bare{padding-top:clamp(40px,5vw,80px)}.showcase+.catalog{padding-top:0}.sc-frame{position:relative}.sc-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;outline:none;grid-auto-columns:calc(33.3333% - 1.33333px);grid-auto-flow:column;gap:2px;display:grid;overflow-x:auto}.sc-track::-webkit-scrollbar{display:none}.sc-track:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}.sc-item{aspect-ratio:1;scroll-snap-align:start;background:var(--paper-2);color:var(--paper);display:block;position:relative;overflow:hidden}.sc-item img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease), opacity .35s;position:absolute;inset:0}a.sc-item:hover img{opacity:.9;transform:scale(1.04)}.sc-title{z-index:1;text-align:center;font-family:var(--f-display);letter-spacing:-.02em;background:linear-gradient(#0e0e0e00,#0e0e0eb8);padding:110px 24px 30px;font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1.15;position:absolute;bottom:0;left:0;right:0}.sc-title span{display:block}.sc-title:after{content:"";background:var(--accent);width:30px;height:2px;transition:width .4s var(--ease);margin:12px auto 0;display:block}a.sc-item:hover .sc-title:after,a.sc-item:focus-visible .sc-title:after{width:64px}a.sc-item:focus-visible{outline:1.5px solid var(--accent);outline-offset:-1.5px}.sc-arrow{z-index:2;background:var(--paper);width:46px;height:46px;color:var(--ink);border:1px solid var(--line-l);place-items:center;margin-top:-23px;transition:background-color .25s,color .25s,border-color .25s;display:grid;position:absolute;top:50%}.sc-arrow:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sc-arrow .i{width:20px;height:20px}.sc-prev{left:calc(var(--gutter) - 23px)}.sc-prev .i{transform:rotate(90deg)}.sc-next{right:calc(var(--gutter) - 23px)}.sc-next .i{transform:rotate(-90deg)}@media (max-width:960px){.sc-track{grid-auto-columns:calc(50% - 1px)}}@media (max-width:640px){.sc-track{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);grid-auto-columns:82%;scroll-padding-left:0}.sc-arrow{display:none}.sc-title{padding:80px 18px 24px}}.logos+.showcase--bare{padding-top:0}.showcase+.logos{padding-top:clamp(48px,5vw,80px)}.grid.grid-featured{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1280px){.grid.grid-featured{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1023px){.grid.grid-featured{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.grid.grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}}.catalog--bare{padding-top:clamp(40px,5vw,80px)}.catalog--bare .featured-bar{border-top:0}.showcase+.catalog--bare,.logos+.catalog--bare{padding-top:0}.grid-featured .card{overflow:hidden}.grid-featured .card>*{transition:transform .75s var(--ease), opacity .6s var(--ease)}.grid-featured .card.is-leaving>*{opacity:0;transform:translateY(-36px)}.grid-featured .card.is-arriving>*{opacity:0;transition:none;transform:translateY(36px)}.nav-quote{display:none}@media (max-width:960px){.nav-quote{text-align:left;border-bottom:1px solid var(--line-d);width:100%;color:var(--paper);font:inherit;letter-spacing:inherit;align-items:center;gap:12px;padding:14px 0;display:flex}.nav-quote .i{width:20px;height:20px;color:var(--accent)}.nav-quote .quote-count{letter-spacing:.06em;color:var(--mute-d);margin-left:auto;font-size:13px}.nav-quote .quote-count.has-items{color:var(--accent)}}.nav-group,.nav-row{display:contents}.nav-chev,.nav-sub{display:none}@media (max-width:960px){.nav-group{border-bottom:1px solid var(--line-d);display:block}.nav-row{align-items:center;display:flex}.nav-row a{flex:1;border-bottom:0!important}.nav-chev{width:22px;height:22px;color:var(--mute-d);pointer-events:none;transition:transform .4s var(--ease), color .2s;display:block}.nav-group.is-open .nav-chev{color:var(--accent);transform:rotate(180deg)}.nav-sub{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;display:grid}.nav-group.is-open>.nav-sub,.nav-cg.is-open>.nav-sub{grid-template-rows:1fr}.nav-sub-in{min-height:0;overflow:hidden}.main-nav .nav-cat{font-family:var(--f-body);letter-spacing:0;color:#f8f7f4d1;opacity:0;transition:opacity .25s, transform .3s var(--ease), color .2s;border-bottom:0;align-items:center;gap:14px;padding:11px 0 11px 4px;font-size:16px;font-weight:400;display:flex;transform:translateY(-6px)}.main-nav .nav-cat:last-child{margin-bottom:12px}.nav-group.is-open .nav-cat{opacity:1;transition:opacity .4s 80ms, transform .45s 80ms var(--ease), color .2s;transform:none}.nav-group.is-open .nav-cat:nth-child(2){transition-delay:.12s}.nav-group.is-open .nav-cat:nth-child(3){transition-delay:.16s}.nav-group.is-open .nav-cat:nth-child(4){transition-delay:.2s}.nav-group.is-open .nav-cat:nth-child(n+5){transition-delay:.24s}.main-nav .nav-cat:active{color:var(--paper)}.nav-cat .i{stroke-width:1.35px;width:22px;height:22px;color:var(--mute-d);flex:none}.nav-cat-dot{flex:none;width:22px;height:22px;position:relative}.nav-cat-dot:after{content:"";background:var(--mute-d);border-radius:50%;width:4px;height:4px;position:absolute;top:9px;left:9px}.nav-cat>span:first-of-type,.nav-cat--all>span{flex:1}.nav-cat-n{color:var(--mute-d);font-size:11px}.main-nav .nav-cat--all{color:var(--paper);font-weight:500}.nav-cat--all .i:first-child{color:var(--accent)}.nav-cat--all .nav-cat-go{width:16px;height:16px}.nav-cg{display:block}.nav-cat-chev{transition:transform .4s var(--ease), color .2s;margin-left:4px;width:16px!important;height:16px!important}.nav-cg.is-open .nav-cat-chev{color:var(--accent);transform:rotate(180deg)}.nav-cg.is-open>.nav-cat{color:var(--paper)}.nav-subs{border-left:1px solid var(--line-d);margin-left:15px;padding-left:21px}.main-nav .nav-sc{font-family:var(--f-body);letter-spacing:0;color:#f8f7f4a8;opacity:0;transition:opacity .2s, transform .25s var(--ease), color .2s;border-bottom:0;align-items:center;gap:12px;padding:8px 0;font-size:15px;font-weight:400;display:flex;transform:translateY(-4px)}.nav-sc>span:first-child{flex:1}.main-nav .nav-sc:last-child{margin-bottom:8px}.nav-cg.is-open .nav-sc{opacity:1;transition:opacity .35s 60ms, transform .4s 60ms var(--ease), color .2s;transform:none}.nav-cg.is-open .nav-sc:nth-child(2){transition-delay:.1s}.nav-cg.is-open .nav-sc:nth-child(n+3){transition-delay:.14s}.main-nav .nav-sc--all{color:#f8f7f4e6}.nav-sc--all .i{width:14px;height:14px;color:var(--mute-d)}}.about-more{align-self:flex-start;margin-top:4px;font-size:14px}.corp-hero{background:var(--dark);color:var(--paper);padding-top:calc(var(--header-full) + clamp(40px, 6vw, 96px));overflow:hidden}.corp-hero-in{grid-template-columns:repeat(12,1fr);gap:26px 24px;padding-bottom:clamp(56px,7vw,112px);display:grid}.corp-hero .crumbs,.corp-hero .crumbs a{color:var(--mute-d)}.corp-hero .crumbs a:hover,.corp-hero .crumbs [aria-current]{color:var(--paper)}.corp-kicker{color:var(--mute-d);letter-spacing:.14em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:10px;font-size:11px;display:inline-flex}.corp-kicker i{background:var(--accent);width:6px;height:6px}.corp-title{font-family:var(--f-display);letter-spacing:-.045em;grid-column:1/span 10;margin:0;font-size:clamp(40px,6.4vw,108px);font-weight:600;line-height:.98}.corp-line{padding-bottom:.06em;display:block;overflow:hidden}.corp-line>span{animation:corpRise 1.1s var(--ease) both;animation-delay:var(--d,0s);display:inline-block}.corp-line:nth-child(2n)>span{color:#0000;-webkit-text-stroke:1px #f8f7f48c}@keyframes corpRise{0%{transform:translateY(105%)}}.corp-lede{color:#f8f7f4b8;animation:corpFade 1s .35s var(--ease) both;grid-column:7/span 5;margin:18px 0 0;font-size:clamp(16px,1.25vw,19px);line-height:1.6}@keyframes corpFade{0%{opacity:0;transform:translateY(12px)}}.corp-hero-media{height:clamp(320px,52vw,760px);margin:0;overflow:hidden}.corp-hero-media img{object-fit:cover;width:100%;height:118%;animation:corpZoom 1.8s var(--ease) both;display:block}@keyframes corpZoom{0%{opacity:.4;transform:scale(1.08)}}.corp-about{background:var(--paper);padding:clamp(80px,10vw,150px) 0}.corp-about-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:40px 24px;display:grid}.corp-about-side{top:calc(var(--header) + 32px);flex-direction:column;grid-column:1/span 4;gap:28px;display:flex;position:sticky}.corp-about-side .sh-label{color:var(--mute-l)}.corp-about-media{aspect-ratio:4/5;background:var(--paper-2);margin:0;overflow:hidden}.corp-about-media img{object-fit:cover;width:100%;height:100%;display:block}.corp-about-body{color:var(--mute-l);flex-direction:column;grid-column:6/span 7;gap:22px;max-width:62ch;font-size:17px;line-height:1.75;display:flex}.corp-h2{color:var(--ink);font-family:var(--f-display);letter-spacing:-.035em;margin:0 0 6px;font-size:clamp(30px,3.2vw,52px);font-weight:600;line-height:1}.corp-lead{color:var(--ink);font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-size:clamp(21px,1.9vw,30px);font-weight:500;line-height:1.3}.corp-lead:first-letter{color:var(--accent)}.corp-about-body p{margin:0}.corp-mv{grid-template-columns:1fr 1fr;display:grid}.corp-mv--single{grid-template-columns:1fr}.mv-panel{min-height:clamp(420px,42vw,640px);padding:clamp(40px, 5vw, 80px) var(--gutter);align-items:flex-end;display:flex;position:relative;overflow:hidden}.mv-panel--mission{background:var(--paper-2);color:var(--ink)}.mv-panel--vision{background:var(--dark);color:var(--paper)}.mv-ghost{pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:var(--f-display);letter-spacing:-.06em;color:#0000;-webkit-text-stroke:1px #0e0e0e24;transition:transform 1.4s var(--ease);font-size:clamp(90px,12.5vw,230px);font-weight:700;line-height:.8;position:absolute;top:.08em;right:-.06em}.mv-panel--vision .mv-ghost{-webkit-text-stroke-color:#f8f7f429}.mv-panel:hover .mv-ghost{transform:translate(-2%)}.mv-in{z-index:1;flex-direction:column;gap:20px;max-width:560px;display:flex;position:relative}.mv-label{letter-spacing:.12em;text-transform:uppercase;color:var(--mute-l);align-items:center;gap:10px;font-size:11px;display:inline-flex}.mv-label:before{content:"";background:var(--accent);width:28px;height:1px}.mv-panel--vision .mv-label{color:var(--mute-d)}.mv-statement{font-family:var(--f-display);letter-spacing:-.03em;margin:0;font-size:clamp(24px,2.4vw,40px);font-weight:500;line-height:1.15}.mv-text{color:var(--mute-l);max-width:52ch;margin:0;font-size:16px;line-height:1.7}.mv-panel--vision .mv-text{color:#f8f7f4a8}.mv-link{align-self:flex-start;margin-top:6px;font-size:14px}.mv-panel--vision .mv-link{color:var(--paper)}.corp-values{background:var(--paper);padding:clamp(80px,10vw,150px) 0 clamp(72px,9vw,128px)}.corp-values-grid{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));border-top:1px solid var(--line-l);border-left:1px solid var(--line-l);margin:0;padding:0;list-style:none;display:grid}.cv-card{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l);flex-direction:column;gap:12px;padding:30px 26px 34px;transition:background-color .35s;display:flex;position:relative}.cv-card:before{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .5s var(--ease);position:absolute;top:-1px;left:-1px;right:-1px;transform:scaleX(0)}.cv-card:hover{background:var(--paper-2)}.cv-card:hover:before{transform:scaleX(1)}.cv-card .i-lg{margin:18px 0 14px}.cv-num{color:var(--mute-l);font-size:11px}.cv-card h3{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:600}.cv-card p{color:var(--mute-l);margin:0;font-size:15px;line-height:1.65}.corp-stats{background:var(--dark);color:var(--paper)}.corp-stats-row{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));display:grid}.cs-stat{border-left:1px solid var(--line-d);flex-direction:column;gap:12px;padding:clamp(40px,5vw,72px) 24px;display:flex}.cs-stat:first-child{border-left:0;padding-left:0}.cs-stat-v{font-family:var(--f-display);letter-spacing:-.05em;font-size:clamp(44px,5.4vw,88px);font-weight:600;line-height:.9}.cs-stat-v:after{content:"";background:var(--accent);width:24px;height:2px;margin-top:18px;display:block}.cs-stat-l{color:var(--mute-d);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.corp-steps{background:var(--paper);border-top:1px solid var(--line-l);padding:clamp(80px,10vw,150px) 0 clamp(80px,10vw,140px)}.corp-flow{grid-template-columns:repeat(var(--n,4), minmax(0, 1fr));gap:0 28px;margin:0;padding:0;list-style:none;display:grid;position:relative}.corp-flow:before{content:"";background:var(--line-l2);height:1px;position:absolute;top:5px;left:0;right:0}.cf-step{flex-direction:column;gap:12px;padding-top:34px;display:flex;position:relative}.cf-dot{background:var(--paper);border:1px solid var(--ink);border-radius:50%;width:11px;height:11px;transition:background-color .3s,border-color .3s;position:absolute;top:0;left:0}.cf-step:hover .cf-dot{background:var(--accent);border-color:var(--accent)}.cf-num{color:var(--mute-l);font-size:11px}.cf-step .i-lg{margin:10px 0 8px}.cf-step h3{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:600}.cf-step p{color:var(--mute-l);max-width:34ch;margin:0;font-size:15px;line-height:1.65}.corp-cta{border-top:1px solid var(--line-l);flex-wrap:wrap;align-items:center;gap:18px 32px;margin-top:clamp(56px,6vw,88px);padding-top:36px;display:flex}@media (max-width:1080px){.corp-title{grid-column:1/-1}.corp-lede{grid-column:1/span 9}.corp-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.corp-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.corp-flow:before{display:none}}@media (max-width:860px){.corp-about-side{grid-column:1/-1;position:static}.corp-about-media{aspect-ratio:16/10}.corp-about-body{grid-column:1/-1}.corp-mv{grid-template-columns:1fr}.mv-panel{min-height:0;padding-top:clamp(120px,26vw,200px)}.corp-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-stat:nth-child(odd){border-left:0;padding-left:0}.cs-stat:nth-child(n+3){border-top:1px solid var(--line-d)}}@media (max-width:600px){.corp-lede{grid-column:1/-1}.corp-values-grid,.corp-flow{grid-template-columns:1fr}.corp-hero-media{height:300px}}@media (prefers-reduced-motion:reduce){.corp-line>span,.corp-lede,.corp-hero-media img{animation:none}}.corp-mosaic{grid-template-columns:repeat(var(--n,3), minmax(0, 1fr));gap:2px;display:grid}.cm-item{aspect-ratio:4/5;background:var(--coal);animation:corpFade 1.1s var(--ease) both;animation-delay:var(--d,0s);margin:0;position:relative;overflow:hidden}.cm-item img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);display:block}.cm-item:hover img{transform:scale(1.05)}.cm-item figcaption{color:var(--paper);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#0e0e0e00,#0e0e0eb3);padding:70px 22px 20px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.cm-item figcaption span{color:var(--accent)}@media (max-width:760px){.corp-mosaic{scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:78%;grid-auto-flow:column;overflow-x:auto}.corp-mosaic::-webkit-scrollbar{display:none}.cm-item{scroll-snap-align:start}}@media (prefers-reduced-motion:reduce){.cm-item{animation:none}}.site-header[data-mode=solid]{background-color:rgba(var(--hdr-rgb,14, 14, 14), var(--hdr-a,1))!important;border-bottom-color:#f8f7f414!important}.site-header[data-mode=solid]:not(:hover):not(:has(:focus-visible)):not(.menu-open){background-color:rgba(var(--hdr-rgb,14, 14, 14), var(--hdr-a,1))!important;border-bottom-color:#f8f7f414!important}.site-header[data-mode=solid]:before{opacity:0!important}.site-header[data-mode=solid].menu-open{background-color:rgba(var(--hdr-rgb,14, 14, 14), .97)!important}.site-header[data-mode=hero]:not(.on-hero){background-color:rgba(var(--hdr-rgb,14, 14, 14), var(--hdr-a,1))!important;border-bottom-color:#f8f7f414!important}.site-header[data-mode=hero]:not(.on-hero):not(:hover):not(:has(:focus-visible)):not(.menu-open){background-color:rgba(var(--hdr-rgb,14, 14, 14), var(--hdr-a,1))!important;border-bottom-color:#f8f7f414!important}.site-header[data-mode=hero]:not(.on-hero):before{opacity:0!important}.site-header[data-mode=hero].menu-open{background-color:rgba(var(--hdr-rgb,14, 14, 14), .97)!important}.site-header{transition:background-color .4s var(--ease), border-color .4s var(--ease), transform .45s var(--ease)}.site-header.is-hidden{transform:translateY(-100%)}html.hdr-hidden{--header:0px}body>main:has(>.page-projects:first-child){padding-top:0}.projects--page{padding-top:calc(var(--header-full) + clamp(40px, 5vw, 80px));min-height:70vh}.projects--page .crumbs,.projects--page .crumbs a{color:var(--mute-d)}.projects--page .crumbs a:hover,.projects--page .crumbs [aria-current],.projects--page .sh-title{color:var(--paper)}.proj-all{grid-column:1/-1;justify-self:start;margin-top:6px;font-size:14px}.proj-filter{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:clamp(28px,3vw,44px);display:flex}.pf-chip{border:1px solid var(--line-d2);color:#dcd8d1;align-items:center;gap:10px;height:38px;padding:0 16px;font-size:14px;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.pf-chip .mono{color:var(--mute-d);font-size:11px;transition:color .25s}.pf-chip:hover{border-color:var(--paper);color:var(--paper)}.pf-chip.is-active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.pf-chip.is-active .mono{color:var(--accent)}.pf-count{color:var(--mute-d);margin-left:auto;font-size:11px}.proj-empty{color:var(--mute-d);padding:40px var(--gutter) 80px}.tile.is-entering{animation:cardIn .6s var(--ease) both}@media (max-width:640px){.pf-count{flex-basis:100%;margin-left:0}}html.no-crumbs .crumbs,html.no-labels .sh-label,html.no-labels .corp-kicker{display:none}.cat-shell{grid-template-columns:272px minmax(0,1fr);column-gap:36px}.cs-title{margin-bottom:14px;font-size:12px}.cs-cat,.cs-opt{gap:12px;padding:8px 0;font-size:15.5px}.cs-subs .cs-cat{padding:6px 0;font-size:14.5px}.cs-n{font-size:12px}.cs-ic{width:20px;height:20px}.cs-box,.cs-dot{width:17px;height:17px}.cs-box .i{width:12px;height:12px}.cs-opt>.i{width:17px;height:17px}.cs-more{font-size:14px}.cs-subs{margin-left:9.5px;padding-left:21px}.cs-subs .cs-cat.is-active:before{left:-24.5px}.fb-search input{padding:13px 0 12px;font-size:15px}.cat-toolbar .fb-count{font-size:12.5px}.cat-sort .mono{font-size:11.5px}.cat-sort select{font-size:15px}.cat-chip{height:32px;font-size:14px}.cat-chip-clear{font-size:14px}.grid-dense .card-name{font-size:17px}.grid-dense .card-series{font-size:13px}.grid-dense .card-code{font-size:10.5px}@media (max-width:1360px){.cat-shell{grid-template-columns:248px minmax(0,1fr);column-gap:28px}}@media (max-width:1023px){.cat-shell{grid-template-columns:minmax(0,1fr)}.cs-cat,.cs-opt{padding:9px 0;font-size:16px}}@media (max-width:640px){.grid-dense .card-name{font-size:15px}.grid-dense .card-series{font-size:12.5px}}.product-page .pp-hero{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(28px,4vw,64px);max-width:1400px;padding-top:clamp(20px,2.4vw,36px)}html.no-crumbs .product-page .pp-crumbs{padding:0}.product-page .pp-gallery{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;display:grid}.product-page .pp-gallery:has(.pp-thumbs:empty){grid-template-columns:minmax(0,1fr)}.product-page .pp-thumbs{scrollbar-width:none;flex-flow:column;order:-1;gap:8px;max-height:min(72vh,700px);margin-top:0;overflow-y:auto}.product-page .pp-thumbs::-webkit-scrollbar{display:none}.product-page .pp-thumb{border-color:var(--line-l);flex:none;width:72px;height:72px}.product-page .pp-thumb.is-active{border-color:var(--ink)}.product-page .pp-thumb--txt{width:72px;height:40px;padding:0 6px;font-size:12px}.product-page .pp-main{aspect-ratio:auto;height:min(72vh,700px);padding:5%}.product-page .pp-main[data-has-photo="1"]{padding:0}.product-page .pp-main .p-img{object-fit:contain}.product-page .pp-sticky{top:calc(var(--header) + 20px);max-width:520px}.product-page .pp-code{letter-spacing:.12em;font-size:11px}.product-page .pp-title{font-family:var(--f-display);letter-spacing:-.03em;margin-top:8px;font-size:clamp(28px,2.3vw,38px);font-weight:600;line-height:1.08}.product-page .pp-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--mute-l);margin-top:8px;font-size:13px}.product-page .pp-desc{color:#3b3934;max-width:none;margin-top:18px;font-size:15px;line-height:1.7}.product-page .pp-block{gap:12px;margin-top:22px;padding-top:16px}.product-page .pp-block .label-l,.product-page .pp-row .mono{letter-spacing:.1em;font-size:11px}.product-page .swatches.lg .sw{width:20px;height:20px}.product-page .qty-line{gap:8px}.product-page .qchip{height:34px;padding:0 12px;font-size:12px}.product-page .stepper{height:34px;margin-left:auto}.product-page .stepper input{width:56px;font-size:13px}.product-page .pp-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;display:grid}.product-page .pp-actions .btn{height:48px;padding:0 16px;font-size:14px}.product-page .pp-actions .btn:only-child{grid-column:1/-1}.product-page .pp-quick{margin-top:14px;font-size:13px}.product-page .pp-facts{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));margin-top:22px;display:grid}.product-page .pp-facts div{min-width:0;padding:10px 12px}.product-page .pp-facts dt{letter-spacing:.1em;font-size:10px}.product-page .pp-facts dd{margin-top:3px;font-size:14px}.product-page .pp-sections{max-width:1400px;margin-top:clamp(40px,5vw,72px)}.product-page .pp-sec{grid-template-columns:220px minmax(0,1fr);padding:clamp(24px,2.6vw,36px) 0}.product-page .pp-sec .spec,.product-page .pp-rich{font-size:15px}@media (max-width:960px){.product-page .pp-hero{grid-template-columns:1fr}.product-page .pp-gallery{grid-template-columns:minmax(0,1fr)}.product-page .pp-thumbs{flex-direction:row;order:0;max-height:none;overflow-x:auto}.product-page .pp-main{aspect-ratio:1;height:auto}.product-page .pp-sticky{max-width:none}.product-page .pp-sec{grid-template-columns:1fr}}@media (max-width:480px){.product-page .pp-actions{grid-template-columns:1fr}}.product-page .pp-sec .dims{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:clamp(24px,3vw,48px)}.product-page .box-diagram{max-width:340px}@media (max-width:960px){.product-page .pp-sec .dims{grid-template-columns:1fr}}.drawer:not(.drawer--quote){width:min(680px,100vw)}.pd-stage{aspect-ratio:auto;height:clamp(240px,38vh,380px);padding:48px 12% 6px}.pd-swrow{padding:10px clamp(18px,2.4vw,32px) 14px}.pd-swrow .mono{font-size:11px}.pd-swrow .swatches.lg .sw{width:18px;height:18px}.pd-titlerow{align-items:center}.pd-title{letter-spacing:-.03em;font-size:clamp(26px,2.2vw,34px);font-weight:600;line-height:1.05}.pd-titlerow .mono{color:var(--mute-l);letter-spacing:.1em;font-size:11px}.pd-series{letter-spacing:.06em;text-transform:uppercase;margin-top:6px;font-size:12.5px}.pd-desc{color:#3b3934;margin-top:14px;font-size:14.5px;line-height:1.65}.pd-flags{gap:6px;margin-top:16px}.pd-flags .flag{padding:6px 10px;font-size:12.5px}.pd-flags .flag .i{width:14px;height:14px}.drawer .pad{padding:clamp(18px,2vw,26px) clamp(18px,2.4vw,32px)}.p-img.is-studio,.p-img.is-scene{width:100%;height:100%;max-height:none;position:absolute;inset:0}.p-img.is-studio{object-fit:contain;padding:7% 9%}.p-img.is-scene{object-fit:cover;padding:0}.pd-stage{position:relative}.pd-stage .p-img.is-studio{padding:52px 10% 8px}.product-page .pp-main .p-img.is-studio{object-fit:contain;padding:5%}.product-page .pp-main .p-img.is-scene{object-fit:cover}.pp-thumb img.is-studio{object-fit:contain;padding:6px}.sr-thumb img.is-studio,.search-result img.is-studio{object-fit:contain}.pp-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:20px 0 0;padding:0;list-style:none;display:grid}.pp-badges li{color:#3b3934;align-items:center;gap:12px;font-size:14px;line-height:1.3;display:flex}.pb-ic{border:1px solid var(--line-l2);background:var(--paper);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid;overflow:hidden}.pb-ic .i{stroke-width:1.3px;color:#3b3934;width:24px;height:24px}.pb-ic img{object-fit:contain;width:72%;height:72%}.pp-badges li:hover .pb-ic{border-color:var(--ink)}.pd-badges{margin-top:16px}@media (max-width:380px){.pp-badges{grid-template-columns:1fr}}.pp-catalogs{border-top:1px solid var(--line-l);flex-direction:column;gap:14px;margin-top:22px;padding-top:16px;display:flex}.pp-catalogs .label-l{letter-spacing:.1em;color:var(--mute-l);font-size:11px}.pp-cat{grid-template-columns:76px minmax(0,1fr);align-items:start;gap:16px;display:grid}.pp-cat .cat-cover{aspect-ratio:3/4;width:76px;margin:0;box-shadow:0 6px 16px #0e0e0e1f}.pp-cat .cat-cover img{object-fit:cover;width:100%;height:100%}.pp-cat-body{flex-direction:column;gap:4px;min-width:0;display:flex}.pp-cat-title{font-size:15px;font-weight:600}.pp-cat .cat-meta{color:var(--mute-l);font-size:11px}.pp-cat .cat-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;display:flex}.pp-cat .cat-actions .btn{height:40px;padding:0 16px;font-size:13px}.pp-cat .cat-gate{margin-top:8px}.pp-toprow{justify-content:space-between;align-items:center;gap:16px;min-height:40px;display:flex}.pp-brand{border:1px solid var(--line-l);height:40px;color:var(--mute-l);background:#fff;flex:none;align-items:center;gap:10px;padding:0 12px 0 14px;transition:border-color .25s,color .25s;display:inline-flex}.pp-brand img{object-fit:contain;width:auto;max-width:110px;height:auto;max-height:22px;display:block}.pp-brand .mono{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:11px}.pp-brand .i{opacity:0;width:14px;height:14px;transition:opacity .25s, margin .3s var(--ease);margin-left:-6px}.pp-brand:hover{border-color:var(--ink);color:var(--ink)}.pp-brand:hover .i{opacity:1;margin-left:0}.pd-brand{float:right;margin:-2px 0 10px 16px}.pd-thumbs{z-index:2;scrollbar-width:none;gap:6px;padding:0 clamp(18px,2.4vw,32px);display:flex;position:relative;overflow-x:auto}.pd-thumbs::-webkit-scrollbar{display:none}.pd-thumb{border:1px solid var(--line-l);background:var(--paper);flex:none;width:52px;height:52px;padding:0;transition:border-color .2s;position:relative;overflow:hidden}.pd-thumb.is-active{border-color:var(--ink)}.pd-thumb .p-img{object-fit:cover;width:100%;height:100%;padding:0;position:absolute;inset:0}.pd-thumb .p-img.is-studio{object-fit:contain;padding:4px}.pp-brand img{width:auto;max-width:120px;height:22px;max-height:none}.pd-stage .p-img.is-tech{object-fit:contain;width:100%;height:100%;max-height:none;padding:52px 8% 14px;position:absolute;inset:0}.pd-stage svg{max-height:100%}html.no-crumbs .product-page .crumbs{display:flex}.product-page .pp-crumbs,html.no-crumbs .product-page .pp-crumbs{max-width:1400px;padding-top:clamp(20px,2.2vw,30px);padding-bottom:0}.product-page .pp-crumbs .crumbs{letter-spacing:.1em;font-size:11px}.product-page .pp-hero{padding-top:clamp(16px,1.8vw,24px)}.product-page .pp-crumbs,html.no-crumbs .product-page .pp-crumbs{padding-inline:var(--gutter)}.pp-block[hidden]{display:none}.pp-uph .pp-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pp-uph-link{color:var(--ink);border-bottom:1px solid var(--line-l2);align-items:center;gap:6px;padding-bottom:2px;text-decoration:none;display:inline-flex}.pp-uph-link .i{width:12px;height:12px}.pp-uph-link:hover{border-color:var(--ink)}.pp-uph-sel{background:var(--paper-2);border:1px solid var(--line-l);align-items:center;gap:12px;padding:10px 12px;display:flex}.pp-uph-sel[hidden]{display:none}.pp-uph-sel>span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pp-uph-sel .mono{letter-spacing:.1em;text-transform:uppercase;color:var(--mute-l);font-size:10px}.pp-uph-sel b{font-size:14px;font-weight:500}.pp-uph-sel .uph-chip{flex:none;width:34px;height:34px}.pp-uph-clear{cursor:pointer;color:var(--mute-l);background:0 0;border:0;padding:6px}.pp-uph-clear:hover{color:var(--ink)}.pp-uph-clear .i{width:14px;height:14px}.uph{flex-direction:column;gap:22px;min-width:0;display:flex}.uph>.form-note{margin:0}.uph-rest{flex-direction:column;gap:30px;display:flex}.uph-rest[hidden]{display:none}.uph-rest.is-in{animation:uphIn .45s var(--ease) both}@keyframes uphIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.uph-more{cursor:pointer;color:var(--ink);text-align:left;border:0;align-self:flex-start;padding:0 0 4px;font-family:inherit}.uph-more[aria-expanded=true]:hover .i{transform:rotate(180deg)translateY(2px)}.uph-more .i{transition:transform .3s var(--ease)}.uph-more[aria-expanded=true] .i{transform:rotate(180deg)}.uph-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:12px;display:flex}.uph-head h3{margin:0;font-size:17px;font-weight:500}.uph-head .mono{letter-spacing:.08em;text-transform:uppercase;color:var(--mute-l);font-size:11px}.uph-note{color:var(--mute-l);margin:-4px 0 12px;font-size:13px}.uph-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px 10px;margin:0;padding:0;list-style:none;display:grid}.uph-sw{cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.uph-chip{aspect-ratio:2/1.15;width:100%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.uph-chip img{object-fit:cover;width:100%;height:100%;display:block}.uph-sw:hover .uph-chip{box-shadow:0 0 0 1px var(--ink)}.uph-sw[aria-pressed=true] .uph-chip{box-shadow:0 0 0 2px var(--paper), 0 0 0 3px var(--ink)}.uph-sw[aria-pressed=true] .uph-chip:after{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:5px;right:5px}.uph-code{font-family:var(--f-mono);letter-spacing:.02em;color:var(--mute-l);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:11px;display:flex;overflow:hidden}.uph-sw[aria-pressed=true] .uph-code{color:var(--ink)}.uph-stock{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.uph-legend{color:var(--mute-l);align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.uph-specs{margin-top:14px}.uph-specs summary{cursor:pointer;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute-l);align-items:center;gap:8px;font-size:11px;list-style:none;display:inline-flex}.uph-specs summary::-webkit-details-marker{display:none}.uph-specs summary:before{content:"+";font-size:14px;line-height:1}.uph-specs[open] summary:before{content:"–"}.uph-specs summary:hover{color:var(--ink)}.uph-specs .spec{margin-top:12px}@media (max-width:700px){.uph-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:10px 8px}}.dims.dims--plain{grid-template-columns:1fr}.dims-note{color:var(--mute-l);margin:12px 0 0;font-size:13px;line-height:1.6}.cs-toggle--none{visibility:hidden;pointer-events:none}.cs-subs .cs-cat{padding-right:23px}.cs-n{text-align:right;font-variant-numeric:tabular-nums;min-width:2.2em}.cs-opt{padding-right:23px}.catbar{background:var(--paper);padding-top:clamp(72px,9vw,136px);padding-bottom:clamp(24px,3vw,48px)}.catbar--bare{padding-top:clamp(40px,5vw,80px)}.catbar .section-head{margin-bottom:clamp(28px,3.5vw,48px)}.catbar+.catalog{padding-top:clamp(32px,4vw,64px)}.showcase:has(+.catbar){padding-bottom:0}.showcase+.catbar{padding-top:clamp(48px,6vw,88px)}.cb-track{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:clamp(20px,2.4vw,32px) clamp(8px,1.4vw,20px);margin:0;padding:0;list-style:none;display:grid}.cb-item{text-align:center;color:var(--ink);outline:none;flex-direction:column;align-items:center;gap:12px;padding:4px 2px 8px;display:flex}.cb-plate{aspect-ratio:1;width:100%;max-width:136px;box-shadow:inset 0 0 0 1px var(--line-l);transition:background .35s var(--ease), box-shadow .35s var(--ease);background:#fff;border-radius:50%;place-items:center;display:grid;position:relative}.cb-plate:after{content:"";border:1.5px solid var(--accent);opacity:0;transition:opacity .3s, transform .55s var(--ease);border-radius:50%;position:absolute;inset:-5px;transform:scale(.92)rotate(-20deg)}.cb-plate img{object-fit:contain;width:86%;height:86%;transition:transform .7s var(--ease);border-radius:50%;margin:auto;position:absolute;inset:0}.cb-ic{width:34px;height:34px;color:var(--mute-l);transition:transform .45s var(--ease), color .3s}.cb-name{font-family:var(--f-display);letter-spacing:-.015em;text-wrap:balance;font-size:15.5px;font-weight:600;line-height:1.15;transition:color .25s}.cb-count{letter-spacing:.04em;color:var(--mute-l);margin-top:-6px;font-size:11px}@media (hover:hover){.cb-item:hover .cb-plate{box-shadow:inset 0 0 0 1px var(--line-l), 0 10px 28px -14px #0e0e0e59}.cb-item:hover .cb-plate:after{opacity:1;transform:none}.cb-item:hover .cb-plate img{transform:scale(1.08)translateY(-3%)}.cb-item:hover .cb-name{color:var(--accent)}.cb-all:hover .cb-plate{background:var(--accent)}.cb-all:hover .cb-ic{transform:translate(5px)}}.cb-item:focus-visible .cb-plate:after{opacity:1;transform:none}.cb-item:focus-visible .cb-name{color:var(--accent)}.cb-all .cb-plate{background:var(--ink);box-shadow:none}.cb-all .cb-ic{color:var(--paper);width:28px;height:28px}.cb-all:focus-visible .cb-plate{background:var(--accent)}@media (max-width:760px){.cb-track{scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;margin:0 calc(var(--gutter) * -1);padding:6px var(--gutter) 4px;scroll-padding-inline:var(--gutter);gap:14px;display:flex;overflow:auto hidden}.cb-track::-webkit-scrollbar{display:none}.cb-track>li{scroll-snap-align:start;flex:0 0 92px}.cb-plate{max-width:92px}.cb-plate:after{inset:-4px}.cb-name{font-size:13.5px}.cb-count{font-size:10.5px}}@media (prefers-reduced-motion:reduce){.cb-plate,.cb-plate:after,.cb-plate img,.cb-ic{transition:none}}.faq{border-top:1px solid var(--line-l)}.faq-item{border-bottom:1px solid var(--line-l)}.faq-item summary{cursor:pointer;grid-template-columns:36px 1fr 22px;align-items:start;gap:14px;padding:20px 0;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}.faq-n{color:var(--mute-l);padding-top:4px;font-size:11px}.faq-q{font-family:var(--f-body);letter-spacing:-.005em;margin:0;font-size:16.5px;font-weight:600;line-height:1.4;transition:color .2s}.faq-item summary:hover .faq-q,.faq-item[open] .faq-q{color:var(--ink)}.faq-item summary:hover .faq-q{color:var(--accent)}.faq-ic{justify-self:end;width:14px;height:14px;margin-top:5px;position:relative}.faq-ic:before,.faq-ic:after{content:"";width:14px;height:1.5px;transition:transform .35s var(--ease), opacity .25s;background:currentColor;position:absolute;top:6.25px;left:0}.faq-ic:after{transform:rotate(90deg)}.faq-item[open] .faq-ic:after{opacity:0;transform:rotate(0)}.faq-item[open] .faq-n{color:var(--accent)}.faq-a{max-width:78ch;color:var(--mute-l);margin:-6px 0 0;padding:0 36px 22px 50px;font-size:15px;line-height:1.65}@media (max-width:640px){.faq-item summary{grid-template-columns:28px 1fr 18px;gap:10px;padding:16px 0}.faq-q{font-size:15.5px}.faq-a{padding:0 0 18px 38px;font-size:14.5px}}.blog-page,.blog-post{padding-bottom:clamp(64px,8vw,120px)}.blog-page .section-head{padding-top:clamp(40px,5vw,72px)}.bl-meta{color:var(--mute-l);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.bl-tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;display:inline-block}a.bl-tag:hover{color:var(--ink)}.bl-excerpt{color:var(--mute-l);max-width:58ch;margin:0}.bl-cover{aspect-ratio:4/3;background:var(--paper-2);position:relative;overflow:hidden}.bl-cover img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);display:block}.bl-cover-ph{font-family:var(--f-display);letter-spacing:-.03em;color:var(--stone);background:linear-gradient(135deg, var(--paper-2), var(--paper-3));align-items:flex-end;padding:22px;font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.05;display:flex;position:absolute;inset:0}.bl-feature{border-top:1px solid var(--line-l);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(28px,5vw,80px);padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(40px,5vw,72px);display:grid}.bl-feature .bl-cover{aspect-ratio:16/10}.bl-feature-media:hover img{transform:scale(1.03)}.bl-feature-info{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.bl-feature-title{font-family:var(--f-display);letter-spacing:-.035em;margin:0;font-size:clamp(28px,3.2vw,48px);font-weight:600;line-height:1.02}.bl-feature-title a:hover,.bl-card-title a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.bl-list{border-top:1px solid var(--line-l);padding-top:clamp(28px,3vw,44px)}.bl-list-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:8px;display:flex}.bl-list-head .sec-title{margin-bottom:0}.bl-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(32px,3.4vw,56px) clamp(20px,2.4vw,36px);margin-top:24px;display:grid}.bl-card{flex-direction:column;gap:18px;display:flex}.bl-card:hover .bl-cover img{transform:scale(1.04)}.bl-card-body{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.bl-card-title{font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-size:21px;font-weight:600;line-height:1.15}.bl-card .bl-excerpt{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14.5px;display:-webkit-box;overflow:hidden}.bl-tags{padding-bottom:0}.bl-tags .pf-chip{border-color:var(--line-l2);height:34px;color:var(--ink);padding:0 14px;font-size:13.5px}.bl-tags .pf-chip:hover{border-color:var(--ink);color:var(--ink)}.bl-tags .pf-chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bp-head{flex-direction:column;align-items:flex-start;gap:18px;padding-top:clamp(40px,5vw,72px);display:flex}.bp-tags{flex-wrap:wrap;gap:6px 14px;margin:0;display:flex}.bp-title{font-family:var(--f-display);letter-spacing:-.035em;max-width:20ch;margin:0;font-size:clamp(34px,4.4vw,68px);font-weight:600;line-height:1.02}.bp-lead{color:var(--mute-l);max-width:60ch;margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.55}.bp-cover{margin-top:clamp(28px,4vw,56px);margin-bottom:clamp(32px,4vw,56px)}.bp-cover .bl-cover{aspect-ratio:21/9}.bp-content p{margin:0 0 1.15em}.bp-content h3{scroll-margin-top:calc(var(--header) + 24px);margin:1.6em 0 .5em;font-size:19px;font-weight:600}.bp-content img{max-width:100%;height:auto;margin:1.6em 0;display:block}.bp-content blockquote{border-left:2px solid var(--accent);color:var(--ink);margin:1.6em 0;padding:4px 0 4px 22px;font-size:18px;line-height:1.55}.bp-content strong{font-weight:600}.bp-products{margin-top:clamp(48px,6vw,88px)}.bl-cta{background:var(--dark);color:var(--paper);margin:clamp(48px,6vw,88px) 0;padding:clamp(48px,6vw,96px) 0}.bl-cta-inner{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.bl-cta-title{font-family:var(--f-display);letter-spacing:-.035em;max-width:22ch;margin:0;font-size:clamp(28px,3.4vw,52px);font-weight:600;line-height:1.02}.bl-cta p{color:#cfcbc4;max-width:56ch;margin:0}.bl-cta-actions{flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:8px;display:flex}.bl-cta .text-link{color:var(--paper)}@media (max-width:960px){.bl-feature{grid-template-columns:1fr}.bp-cover .bl-cover{aspect-ratio:4/3}}.bl-draft{background:var(--accent);color:#fff;letter-spacing:.04em;padding:2px 8px}.bl-regions{border-top:1px solid var(--line-l);padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(40px,5vw,64px)}.bl-region-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px 16px;margin-top:8px;display:grid}.bl-region{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.bl-region .bl-cover{aspect-ratio:3/2;width:100%;margin-bottom:6px}.bl-region:hover .bl-cover img{transform:scale(1.04)}.bl-region-name{font-family:var(--f-display);letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.1}.bl-region:hover .bl-region-name{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.bl-region-line{color:var(--mute-l);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.bl-region .bl-draft{font-size:9.5px}.bp-region{color:var(--mute-l);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px}.bp-regions{margin-top:clamp(40px,5vw,64px)}.bp-regions .bl-tags{margin-top:4px}@media (max-width:640px){.bl-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.clients{background:var(--paper);scroll-margin-top:var(--header-full);padding:clamp(72px,9vw,140px) 0 clamp(72px,9vw,130px)}.clients--page{padding-top:clamp(40px,5vw,72px)}.clients-next{border-top:1px solid var(--line-l);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;margin-top:clamp(48px,6vw,88px);padding-top:clamp(28px,3vw,40px);display:flex}.clients-next-text{max-width:52ch;color:var(--mute-l)}.clients-next-links{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.clients-all{grid-column:1/-1;justify-self:start;margin-top:6px;font-size:14px}.client-grid{border-top:1px solid var(--line-l);border-left:1px solid var(--line-l);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.client-grid>li{border-right:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}.client{aspect-ratio:3/2;place-items:center;padding:12% 13%;display:grid;position:relative}.client img{mix-blend-mode:multiply;filter:grayscale(1) brightness(var(--lift,1));opacity:.7;transition:filter .35s var(--ease), opacity .35s var(--ease), transform .45s var(--ease)}.client>img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:64px;display:block}.client-logo{max-width:100%;transition:transform .45s var(--ease);display:block;position:relative;overflow:hidden}.client-logo img{max-width:none;display:block;position:absolute}.client:hover img,.client:focus-visible img{filter:brightness(var(--lift,1));opacity:1}.client:hover>img,.client:focus-visible>img,.client:hover .client-logo,.client:focus-visible .client-logo{transform:scale(1.04)}.client.is-light img{filter:grayscale()brightness(0);opacity:.62}.client.is-light:hover,.client.is-light:focus-visible{background:#141414}.client.is-light:hover img,.client.is-light:focus-visible img{filter:none;opacity:1;mix-blend-mode:normal}.client.is-link{transition:background-color .3s}.client.is-link:hover{background:#fff}.client .client-go{width:16px;height:16px;color:var(--accent);opacity:0;transition:opacity .3s, transform .35s var(--ease);position:absolute;top:12px;right:12px;transform:translate(-4px,4px)}.client.is-link:hover .client-go,.client.is-link:focus-visible .client-go{opacity:1;transform:none}.client:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:none){.client img{filter:brightness(var(--lift,1));opacity:1}.client.is-light img{filter:brightness(0);opacity:.85}.client.is-link .client-go{opacity:.8;transform:none}}@media (max-width:1100px){.client-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:640px){.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client>img{max-height:44px}.client .client-go{width:13px;height:13px;top:7px;right:7px}}.tile-link{z-index:1;position:absolute;inset:0}.tile-link:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.tile-top,.tile-body{pointer-events:none;z-index:2}.tile-items button{pointer-events:auto}body>main:has(>.pj-page:first-child){padding-top:0}.pj-hero{isolation:isolate;background:var(--dark);color:var(--paper);min-height:min(82vh,860px);padding:calc(var(--header-full) + 40px) 0 clamp(36px, 5vw, 72px);align-items:flex-end;display:flex;position:relative;overflow:hidden}.pj-hero-img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.pj-hero:after{content:"";z-index:-1;background:linear-gradient(#0a0a0a26 0%,#0a0a0a59 55%,#0a0a0adb 100%);position:absolute;inset:0}.pj-hero-in{flex-direction:column;align-items:flex-start;gap:14px;width:100%;display:flex}.pj-hero .crumbs,.pj-hero .crumbs a{color:#cfcbc4}.pj-hero .crumbs a:hover,.pj-hero .crumbs [aria-current]{color:var(--paper)}.pj-kicker{color:#dcd8d1;letter-spacing:.08em;font-size:12px}.pj-title{font-family:var(--f-display);letter-spacing:-.04em;text-wrap:balance;max-width:18ch;font-size:clamp(38px,6vw,92px);font-weight:700;line-height:.95}.pj-body{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,80px);padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(40px,5vw,80px);display:grid}.pj-facts{border-top:1px solid var(--line-l);align-content:start;margin:0;display:grid}.pj-facts>div{border-bottom:1px solid var(--line-l);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.pj-facts dt{color:var(--mute-l);letter-spacing:.06em;font-size:11.5px}.pj-facts dd{text-align:right;margin:0;font-weight:500}.pj-facts dd a{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.pj-facts dd a:hover{color:var(--accent)}.pj-text{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.pj-text .pp-rich{font-size:17px;line-height:1.7}.pj-back{font-size:14px}.pj-gallery{padding-bottom:clamp(56px,7vw,110px)}.pj-count{margin-left:auto;font-size:11.5px;color:var(--mute-l)!important}.pj-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,14px);margin:0;padding:0;list-style:none;display:grid}.pj-grid li:first-child{grid-area:span 2/span 2}.pj-grid a{background:var(--paper-2);cursor:zoom-in;height:100%;display:block;overflow:hidden}.pj-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease), opacity .3s;display:block}.pj-grid a:hover img{transform:scale(1.03)}.pj-grid a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pj-more{padding-top:clamp(56px,7vw,110px);padding-bottom:clamp(56px,7vw,110px)}.pj-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:20px;display:grid}.pj-card{flex-direction:column;gap:8px;display:flex}.pj-card-img{aspect-ratio:4/3;background:var(--coal);display:block;overflow:hidden}.pj-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);display:block}.pj-card:hover .pj-card-img img{transform:scale(1.04)}.pj-card-name{font-family:var(--f-display);letter-spacing:-.02em;margin-top:6px;font-size:20px;font-weight:600;line-height:1.15}.pj-card:hover .pj-card-name{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.pj-card-meta{color:var(--mute-l);font-size:11.5px}@media (max-width:860px){.pj-body{grid-template-columns:1fr}.pj-more-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.pj-hero{min-height:68vh}.pj-grid{grid-template-columns:1fr 1fr}.pj-text .pp-rich{font-size:16px}.pj-more-grid{grid-template-columns:1fr}}.lb{z-index:140;opacity:0;transition:opacity .25s var(--ease);background:#0a0a0af0;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;display:grid;position:fixed;inset:0}.lb.is-on{opacity:1}.lb[hidden]{display:none}.lb-fig{flex-direction:column;grid-column:2;justify-content:center;align-items:center;gap:14px;height:100dvh;margin:0;padding:56px 0 24px;display:flex}.lb-fig img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 120px);display:block}.lb-count{color:#cfcbc4;font-size:12px}.lb button{color:var(--paper);border:1px solid var(--line-d2);cursor:pointer;background:#0e0e0e80;justify-self:center;place-items:center;width:52px;height:52px;transition:border-color .2s,background-color .2s;display:grid}.lb button:hover{border-color:var(--paper);background:var(--ink)}.lb button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lb .i{width:20px;height:20px}.lb-prev .i{transform:rotate(180deg)}.lb-close{position:absolute;top:16px;right:16px}@media (max-width:640px){.lb{grid-template-columns:0 minmax(0,1fr) 0}.lb-nav{position:absolute;bottom:18px}.lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}.lb-fig{padding:64px 8px 90px}.lb-fig img{max-height:calc(100dvh - 170px)}}.hero-play{z-index:5;cursor:pointer;width:76px;height:76px;color:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .25s, transform .3s var(--ease);background:#0e0e0e6b;border:1px solid #f8f7f48c;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-play .i{fill:currentColor;width:28px;height:28px;margin-left:4px}.hero-play:hover{background:var(--accent);border-color:var(--accent);transform:translate(-50%,-50%)scale(1.05)}.hero-play:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width:640px){.hero-play{width:64px;height:64px}}.slide-media.has-mposter{background:var(--poster-d) center / cover no-repeat}@media (max-width:767px){.slide-media.has-mposter{background-image:var(--poster-m)}}.slide-media picture{display:contents}.site-header[data-tone=light]:not(.on-hero){color:var(--ink);border-bottom-color:var(--line-l)}.site-header[data-tone=light]:not(.on-hero) .logo-light{opacity:0}.site-header[data-tone=light]:not(.on-hero) .logo-dark{opacity:1}.site-header[data-tone=light]:not(.on-hero) .main-nav a,.site-header[data-tone=light]:not(.on-hero) .search-btn,.site-header[data-tone=light]:not(.on-hero) .lang-switch a.is-active{color:var(--ink);text-shadow:none}.site-header[data-tone=light]:not(.on-hero) .lang-switch a{color:var(--mute-l)}.site-header[data-tone=light]:not(.on-hero) .quote-trigger,.site-header[data-tone=light]:not(.on-hero) .menu-btn{color:var(--ink);border-color:var(--line-l2)}.site-header[data-tone=light]:not(.on-hero) .quote-count:not(.has-items){color:var(--mute-l)}.proj-grid[data-hide~=type] .tile-type,.proj-grid:not([data-show~=year]) .tile-year,.proj-grid[data-hide~=name] .tile-name,.proj-grid[data-hide~=place] .tile-place{display:none}@media (max-width:640px){.proj-grid[style*=--tile-type] .tile-type{font-size:calc(var(--tile-type) * .8)}.proj-grid[style*=--tile-year] .tile-year{font-size:calc(var(--tile-year) * .8)}.proj-grid[style*=--tile-name] .tile-name{font-size:calc(var(--tile-name) * .8)}.proj-grid[style*=--tile-place] .tile-place{font-size:calc(var(--tile-place) * .8)}}.proj-grid:not([data-show~=year]) .tile:after{background:linear-gradient(#0a0a0a00 40%,#0a0a0a33 58%,#0a0a0ad1 100%)}.lb{touch-action:none;overscroll-behavior:contain;overflow:hidden}.lb-stage{touch-action:none;cursor:zoom-in;justify-content:center;align-items:center;width:100%;display:flex}.lb-stage img{will-change:transform;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lb.is-zoomed .lb-stage{cursor:grab}.lb.is-zoomed .lb-stage:active{cursor:grabbing}.lb.is-zoomed .lb-count,.lb.is-zoomed .lb-nav{opacity:0;pointer-events:none}.lb.is-single .lb-nav{display:none}.lb-zoom{position:absolute;bottom:18px;right:16px}.lb.is-zoomed .lb-zoom{border-color:var(--accent)}.pp-main.is-zoomable,.pd-stage.is-zoomable{cursor:zoom-in}.pd-stage.is-zoomable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pp-main.is-zoomable.is-tech{cursor:default}.pp-main.is-zoomable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
